AIDEEEEE PHPPPP

Nouveau WRInaute
salut j'ai besoin d'aide je comprend pas pourkoi sa marche pas .Regarder je fais un fichier en html et un en php.un truc tou simple.tous les 2 dans le meme dossier

/*test.html*/

<form name="form1" method="get" action="resultat.php">
<p>rentrer votre nom : <input type="text" name="nom"></p>

/*resultat.php*/

<?
echo"bienvenue",$nom,"sur mon site";
?>

/*resultat obtenu*/
bienvenu
Notice: Undefined variable: nom in .....................................php on line 11
sur mon site

jé pas mi l'url mé c pas grave.Sa donne sa je comprend pas.jé meme pri des exemples sur le net et les é tester et selon le code sa me sort comme koi sa trouve pas.style des radiobuton ect....
j'ai easy php 1.7 et utilise dreamweaver.

++
 
WRInaute discret
/*test.html*/

<form name="form1" method="post" action="resultat.php">
<p>rentrer votre nom : <input type="text" name="nom" value=""><input type="submit" name="submit" value="envoyer"></form></p>

/*resultat.php*/

<?
echo "bienvenue ".$nom." sur mon site";
?>
 
Nouveau WRInaute
non sa marche toujours pas sa me mais toujours undefined reference nom.

je comprend pas.(désoler javer oublier de le mettre le bouton envoyer" .

je comprend pas du tou pourkoi sa me fai sa
 
WRInaute discret
autrement, peut être une piste, il me semble qu'avec easyphp1.7 la variable register_global est à off.


Dans ce cas, si tu veux laisser ce paramètre à off, il faut utiliser $_GET["nom"] (ou $_POST["nom"] selon la méthode employée par le formulaire) pour récupérer l'information.
 
WRInaute discret
C'est un paramètre à modifier dans le fichier php.ini tout simplement.
Autrement, tu peux changer sa valeur par défaut pour un répertoire particulier avec un fichier .htaccess (php_value register_global on)
Ou tu peux encore surement le mettre à on avec une commande ini_set(...) en début de script.
 
Nouveau WRInaute
ouep je penser que test.html lors de l'appel de resultat.php aller faire l'association entre
c objet et celui du php


pour le phpinit jé que sa :[EasyPhp]
AutoStartServers=Y
AutoStartEasyPhp=N
AutoReloadConf=N
CheckVersion=N
StartAsServices=N
ShowAlways=N
ExpandPos=2
Lang=Français
[MySql]
MySqlArguments=--skip-name-resolve --language=french

je trouve pas registre_local pr ta raison il est bien a off cette enfoiré
 
WRInaute occasionnel
Le mieux c'est de mettre ça :
Code:
/*resultat.php*/

<?
echo"bienvenue".$_get['nom']."sur mon site";
?>
En effet, register_global on crée des problèmes de sécurité....
 
Nouveau WRInaute
ok comme sa sa marche $_GET["nom"] mais c putin de chiant.
je sais qu'avant je faisait pas comme sa,j'avais juste a mettre $nom et sa marcher mais sa dever pas etre la meme version de easyphp

sinon jarrive pas a le faire passer a ON registre local.
jé trouver le fichier je les mi a On jé redemarrer easy php et quand je regarde a administration et phpinfo registrelocal et encore a off.

donc c la grosse mémerde
 
A
Anonymous
Guest
et bien, tu n'as qu'à spécifier une bonne fois pour toutes au tout début de ton code php :

Code:
$nom=$_GET['nom'];

et ensuite, à chaque fois que tu en as besoin, tu fais référence à $nom comme avant :wink:
 
WRInaute occasionnel
Twister a dit:
Le mieux c'est de mettre ça :
Code:
/*resultat.php*/

<?
echo"bienvenue".$_get['nom']."sur mon site";
?>
En effet, register_global on crée des problèmes de sécurité....

si on ne fait pas attention à ses variables.... sinon aucun probleme....

Et puis register global OFF est aussi dangereux si on fait n'importe quoi avec ses variables.
Honnetement je vois pas ce que ca change. :?
 
WRInaute impliqué
Ca change que ça t'oblige à initialiser toutes tes variables, et ne serait-ce que pour cela, c'est un progrès en terme de sécurité. Non ?
 
Nouveau WRInaute
Salut

ton formulaire étant en post, voilà une petite astuce pour ne plusa voir d'erreur :
Code:
<?
/*   récupération d'une variable en $_POST */

$variable=(isset($_POST['variable']) && !empty($_POST['variable']))?$_POST['variable']:'';
?>

explication :
Code:
  isset() // vérifie si la variable existe
  !empty() // vérifie si la variable n'est pas vide
  $var=($condition)?$resultat1:$resultat2; // permet en une seule ligne de faire une condition est d'affecter une valeur en focntion de cette condition.
Si "condition" est remplie, affectation à $var de $resultat1, sinon affectation de $resultat2.

En l'occurence dans ton cas ça donne :
si la variable "$_POST['nom']"' existe et si elle n'est pas vide, sa valeur est affecté à la variable "$nom", sinon on affecte une valeur vide.
Cela évite des messages de type undefined variable...

ce qui donne pour toi :
Code:
$nom=(isset($_POST['nom']) && !empty($_POST['nom']))?$_POST['nom']:'';

par la suite, il te suffit d'utiliser la variable $nom comme tu l'entends et tu n'auras plus un message d'erreur.


voilà ..
@++
 
WRInaute impliqué
K réman ! C put 1 2 chiant 2 pa C a ON ...
l'énorme 2 php4 & 5 diz kil fo utilyzé $_GET & $_POST
donk y fo mieu fer kom sa.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Haut