Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
809 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] passage de paramètre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] passage de paramètre

n°714158
hop le fou
Tu m'en diras tant
Posté le 03-05-2004 à 13:52:36  profilanswer
 

Bonjour,
 
-- Autre question 8 posts plus loin  
 
je commence tout juste à programmer en php et j'ai déja un probleme.
Les différents livre-tutoriaux que j'ai lu ne donne pas les memes informations.
 
Comment se fait le passage de paramètre d'une page à une autre?
Mon livre (php 4.x de student edition) et différents tutoriaux indiquent qu'il suffit d'utiliser le nom des composants du formulaire pour récupérer les variables.
Les variables passent bien à la page suivante (on le voit grâce à Get) mais impossible de les récupérer en gardant le même nom de variable.
 
J'ai réussi à récupérer la valeur des variables en utilisant $_get['nom_variable'] (ou $_post[pareil] ). (aide de easy php).
 
Cette syntaxe est assez pourrie et je ne comprend pas pourquoi le simple passage de paramètre ne fontionne pas.
 
Remarque : J'utilise la version 4.3.6 de php.
 
Merci de votre aide.


Message édité par hop le fou le 05-05-2004 à 16:34:01
mood
Publicité
Posté le 03-05-2004 à 13:52:36  profilanswer
 

n°714162
Profil sup​primé
Posté le 03-05-2004 à 13:55:19  answer
 

Depuis php 4.2 php est passé au variables globales ($_SERVER, $_GET...) pour des raisons de sécurité.
 
Si tu ne veut pas t'embeter avec cette syntaxe tu peu toujours  tourner l'option register_globals a OFF, mais attention au failles de sécurité

n°714181
hop le fou
Tu m'en diras tant
Posté le 03-05-2004 à 14:03:52  profilanswer
 

Merci

n°714355
titione
addicted
Posté le 03-05-2004 à 15:38:14  profilanswer
 

en même temps il faut mieux rester sur les $_GET et $_POST qui sont certes plus fastidieux mais qui sont quand même plus clairs.
de plus la majorité pour pas dire tous les serveurs sont en 4.2 ou plus et je ne suis pas sûr que le petit register_globals qu'on passe à OFF marchera encore sous php 5...

n°714373
MrNavarro
Posté le 03-05-2004 à 15:51:40  profilanswer
 

lol
Theoriquement, le nom que tu donne a ta variable dans ton formulaire te permet de recuperer la valeur dans ton php avec le meme nom. Tu dois faire une erreur de synthaxe, le mieux c'est que t'envois le code. Neanmoins suis d'accord pour dire que vos mieux passer par des _POST, c'est beaucoup plus lisible.

n°714516
hop le fou
Tu m'en diras tant
Posté le 03-05-2004 à 18:04:14  profilanswer
 

Non il n'y avait pas d'erreur de syntaxe (la copie d'un exemple ne marchait pas).
 
J'ai maintenant un autre problème : l'accès à ma base de données :
- que faut il paramétrer sur le serveur où est lancé le service mysql pour que ma machine puisse apporter des modifications à la base?  
 
- pour créer les tables, quelle est la fonction à utiliser? (j'ai essayé mysql_query mais apparement ce n'est pas celle-la et il n'y en a pas d'autre équivalente dans mon bouquin
 
Merci de votre aide

n°714526
naceroth
Posté le 03-05-2004 à 18:21:18  profilanswer
 

Citation :


J'ai maintenant un autre problème : l'accès à ma base de données :
- que faut il paramétrer sur le serveur où est lancé le service mysql pour que ma machine puisse apporter des modifications à la base?  


 
Rien. (enfin, un utilisateur possédant les droits souhaités, ce qui est normalement le cas par défaut)
 

Citation :

- pour créer les tables, quelle est la fonction à utiliser? (j'ai essayé mysql_query mais apparement ce n'est pas celle-la et il n'y en a pas d'autre équivalente dans mon bouquin


 
Oulà, mais c'est quoi ton bouquin ?
 
Parce que bon, s'il oublie de te dire que mysql_query execute la requête SQL (qu'il faut donc apprendre) que tu lui passes, faut le jeter hein  :ange:


Message édité par naceroth le 03-05-2004 à 18:22:22
n°714943
hop le fou
Tu m'en diras tant
Posté le 04-05-2004 à 09:49:59  profilanswer
 


Il se trouve que je ne suis pas la personne qui a installé et que j'essaie de modifier la base par le réseau. Tout le monde a tout les droits  par défaut ??
 
Mon bouquin c PHP 4.x chez Student Edition.
Le problème n'est pas la. Je n'ai aucun problème en sql et je sais que mysql_query execute ma requete mais il se trouve que cette fonction ne peut executer que des requetes de type SELECT UPDATE DELETE et INSERT
Or moi je voudrais faire des requetes de type CREATE
Je cherche donc la fontion qui permette de passer ces ordres à la base.
Je me suis peut etre mal exprimé au dessus...

n°715404
hop le fou
Tu m'en diras tant
Posté le 04-05-2004 à 17:17:34  profilanswer
 

Bon ben en fait je vais créer la base avec le logiciel qui va bien et me contenter de faire les modifs avec Php
Merci

n°715423
naceroth
Posté le 04-05-2004 à 17:44:41  profilanswer
 

Citation :

Il se trouve que je ne suis pas la personne qui a installé et que j'essaie de modifier la base par le réseau. Tout le monde a tout les droits  par défaut ??


 
Il y a un compte root qui a tous les droits oui (le contraire serait plutôt idiot d'ailleurs :D). Mais ceci dit, on parle bien des droits des user mysql, pas d'un quelconque user windows :)
 

Citation :

Mon bouquin c PHP 4.x chez Student Edition.
Le problème n'est pas la. Je n'ai aucun problème en sql et je sais que mysql_query execute ma requete mais il se trouve que cette fonction ne peut executer que des requetes de type SELECT UPDATE DELETE et INSERT
Or moi je voudrais faire des requetes de type CREATE
Je cherche donc la fontion qui permette de passer ces ordres à la base.
Je me suis peut etre mal exprimé au dessus...


 
mysql_query.  
 
Je ne sais pas où tu vas chercher que cette fonction se limite à des select, update etc. Tu lui passes un SHOW TABLE STATUS, ça marche, un DROP DATABASE, ça marche, bref n'importe quelle requête SQL.

mood
Publicité
Posté le 04-05-2004 à 17:44:41  profilanswer
 

n°715856
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 10:11:07  profilanswer
 

naceroth a écrit :


 
Il y a un compte root qui a tous les droits oui (le contraire serait plutôt idiot d'ailleurs :D). Mais ceci dit, on parle bien des droits des user mysql, pas d'un quelconque user windows :)
 
mysql_query.  
 
Je ne sais pas où tu vas chercher que cette fonction se limite à des select, update etc. Tu lui passes un SHOW TABLE STATUS, ça marche, un DROP DATABASE, ça marche, bref n'importe quelle requête SQL.


 
ben en fait c ce qui est écrit dans mon bouquin et le morceau de code suivant tourne en rond :
 
mySql_create_db("BDrapports", $dbLink);
mySql_query("CREATE TABLE IF NOT EXISTS MOTS_CLES(NUM_MOT_CLE CHAR (32) NOT NULL  ,LIBELLE CHAR (32) NULL,PRIMARY KEY (NUM_MOT_CLE));,dnlink" );
 
Ce code a été généré par Win'design comme code my_sql (je ne connais pas trop my_sql, plutot oracle...)
Donc je ne comprend pas...

n°715859
Profil sup​primé
Posté le 05-05-2004 à 10:12:31  answer
 

ben la tu crée une base du nom BDrapport, et tu execute directement apres une requete dessus, mais a mon avis tu a oublier de te connecter sur la base fraichement crée avant :)

n°715920
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 10:53:09  profilanswer
 

chacal_one333 a écrit :

ben la tu crée une base du nom BDrapport, et tu execute directement apres une requete dessus, mais a mon avis tu a oublier de te connecter sur la base fraichement crée avant :)


 
non g bien le truc de selection de la base :
mySql_select_db("BDrapport", $dbLink)
mais c marqué dans mon livre que c pas utile (car une seule base)
mais c écrit dans mon code.

n°716458
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 16:33:15  profilanswer
 

Bonjour,
 
je voudrais passer un paramètre à un script php en l'appelant (en utilisant la fonction header)
Le problème est que les paramètres sont visibles en les passant par l'appel.
Une solution serait d'utiliser les variables de session mais y a t il une autre solution?
J'ai lu que les variables de session entrainait la création de cookie et qu'il pouvait être refusés (mais qu'il y a une autre alternative appelée SID mais je n'ai rien compri à ca)
Y a t-il un risque de probleme en cas de refus de cookie dans la gestion des variables de session?
 
Merci

n°716462
Profil sup​primé
Posté le 05-05-2004 à 16:34:53  answer
 

Les sessions ne font en aucun cas appel au cookies.

n°716466
naceroth
Posté le 05-05-2004 à 16:37:04  profilanswer
 

hop le fou a écrit :

ben en fait c ce qui est écrit dans mon bouquin et le morceau de code suivant tourne en rond :
 
mySql_create_db("BDrapports", $dbLink);
mySql_query("CREATE TABLE IF NOT EXISTS MOTS_CLES(NUM_MOT_CLE CHAR (32) NOT NULL  ,LIBELLE CHAR (32) NULL,PRIMARY KEY (NUM_MOT_CLE));,dnlink" );
 
Ce code a été généré par Win'design comme code my_sql (je ne connais pas trop my_sql, plutot oracle...)
Donc je ne comprend pas...


 
Il y a une erreur dans la requête de création de table surtout :

Code :
  1. mySql_query("CREATE TABLE IF NOT EXISTS MOTS_CLES(NUM_MOT_CLE CHAR (32) NOT NULL  ,LIBELLE CHAR (32) NULL,PRIMARY KEY (NUM_MOT_CLE))",$dblink);


 
me semble plus correct point de vue php
 

Citation :

mais c marqué dans mon livre que c pas utile (car une seule base)


 
Tu as déjà au moins une base dans mysql même si toi tu n'as encore rien créé : la base mysql elle-même (celle qui gère les utilisateurs entre autre). Donc tu peux t'en passer, mais ça te contraint à préciser le nom de la db dans la requête :)

n°716510
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 16:54:29  profilanswer
 

chacal_one333 a écrit :

Les sessions ne font en aucun cas appel au cookies.


 

Citation :

L'identifiant de session, une longue suite générée aléatoirement de chiffres et de lettres, est envoyée au navigateur sous forme de cookie. Comme les cookies peuvent être refusés par le navigateur, une alternative existe. Une constante, appelée SID, est créée et contient tout ce qu'il faut pour être transmis par URL.


tiré de PHP 4.x de Leon Atkinson, Campus press...
 :??:

n°716515
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 16:57:22  profilanswer
 

Oui il y a erreur à la con dans ce que j'ai copié. C'est parce que j'avais définie la requete dans une variable. Copier coller foireux... mais je pense que le problème vient de la création de la base.
De toute facon je suis passé par mysql front...
 
En ce qui concerne la sélection, oui je la fait (de toute facon ca rend le code plus clair alors ...).
 
Merci.
Pas une idée pour la question suivante?

n°716563
naceroth
Posté le 05-05-2004 à 17:18:25  profilanswer
 

chacal_one333 a écrit :

Les sessions ne font en aucun cas appel au cookies.


 
Si, elles le peuvent pour transmettre les SID (c'est l'option activée par défaut).
 
@hop le fou : Oui, il y a évidement un problème si tu choisis le SID par cookie et qu'il est refusé par le navigateur. L'autre solution est de la transmettre par l'url : comme l'explique le manuel

n°716565
Profil sup​primé
Posté le 05-05-2004 à 17:20:13  answer
 

ha j'avais mal compris ce qu'il demandais.
 
J'ai cru qu'il pensait qu'en faisant des session_register();, ca utilisais des cookies.

n°716646
hop le fou
Tu m'en diras tant
Posté le 05-05-2004 à 18:20:38  profilanswer
 

Ok c cool merci je vais regarder ca de près

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] passage de paramètre

 

Sujets relatifs
Passage d'un stream en paramétre ?procedure : passage de parametre
passage d'un tableau php parametre à une fonction javascriptProblèmes de passage de pointeur en paramètre
Passage de pointeurs en paramètre erronés ![PERL] Passage de plusieurs array en paramêtre à une fonction
[Résolu] Passage d'une fonction en paramètre ?!?Porblème lors d'un passage de paramètre
Petit problème de compréhension dans un passage de paramètre...Passage de paramètre et Frontpage
Plus de sujets relatifs à : [php] passage de paramètre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR