Code PHP pour récupérer certaines données [Résolu/Fermé]

Signaler
Messages postés
246
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
13 juin 2018
-
Messages postés
246
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
13 juin 2018
-
Bonjour,
Au fait, je suis un débutant en php et je voudrais réaliser un truc que je n'arrive pas jusque là, j'ai besoin d'un coup de main.
Voilà, il s'agit de 3 pages:
- une page HTML qui contient un formulaire (avec des champs NOM, PRENOM, AGE, par exple)
- une page PHP n° 1 qui servira juste à afficher les infos saisies dans le formulaire(IBO IBIDI 12 ans, par exple) de façon à ce qu'elles ne soient pas modifiables;
- et une page PHP n°2 qui servira à l'insertion des infos du formulaire dans la base de données.

Mon problème est que les variables que j'ai utilisées pour la récupération des infos et leur affichage (Page PHP 1) ne sont pas reconnues au niveau de la page d'insertion (Page PHP n°2).

La page HTML n'a pas de problème.
Le Code de la Page PHP 1est:
<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$age=$_POST['age'];
Prenom :<?php echo $_POST['nom'];?><br/>
Adresse : <?php echo $_POST['prenom'];?><br/>
E-mail : <?php echo $_POST['mail'];?><br/>
?>


Le code de la Page PHP 2(Pour insertion dans la base) est:
<?php mysql_connect("localhost","test","test");
mysql_select_db("mabase");

$a="INSERT INTO `matable` ( `nom` , `prenom` ,`age`) VALUE ('$Nom', '$Prenom', '$Age')
$b=mysql_query($a);

mysql_close();
?>

Avec ce code, j'affiche les données sur la Page PHP 1 de façon inaltérable(c'est à dire on ne peut pas les modifier, et c'est ce que je cherche). J'ai en plus créé deux boutons(Valider formulaire et Modifier formulaire) sur cette page et je souhaite que le premier(Modifier Formulaire) serve à revenir sur les données précedemment saisies pour une éventuelle modification et que le second (Valider formulaire) serve à inserer cette fois-ci les données dans la base; et c'est là que j'ai des erreurs genre NOTICE: Undefined index: nom .........
ce pour toutes les variables. Mais, si j'utilise sur la page PHP 2 le code:

<input type="hidden" name="nom" value="'.$_POST['nom'].'"/>
<input type="hidden" name="prenom" value="'.$_POST['prenom'] .'" />
<input type="hidden" name="age" value="'.$_POST['age'].'" />

là aucune erreur n'est générée, mais quand je vérifie dans la base, je trouve que le nombre de ligne à augmenter mais les données proprement dites ne sont pas insérées!!!
J'ai vraiment besoin d'un coup de pouce, merci d'avance :-)

4 réponses

Hello,

je suis pas très doué en php, mais là, je ne comprends pas pourquoi tu mixes de la syntaxe php dans du HTML.
As-tu vérifié avec des mécanismes plus simples que tu peux inclure des variables php dans du html ???

Car la solution simpliste serait d'écrire :
<input type="hidden" name="nom" value="<?php echo $_POST['nom'] ?>"/>
<input type="hidden" name="prenom" value="<?php echo $_POST['prenom'] ?>" />
<input type="hidden" name="age" value="<?php echo $_POST['age'] ?>" />

Qu'en penses-tu ?
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
56
<input type="hidden" name="nom" value="<?=$_POST['nom']?>"/>
<input type="hidden" name="prenom" value="<?=$_POST['prenom']?>" />
<input type="hidden" name="age" value="<?=$_POST['age']?>" />
>
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011

héhé ! j'aime quand ça ressemble à de l'ASP ;-)
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
56 > othanga
j'te fais confiance ;) je parle pas ASP :) je sais juste que les deux langages sont semblables^^
Messages postés
870
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2011
56
correctif suggéré:

<?php//retour à la ligne et indentation sont tes amis! ils rendront ton code plus lisible
mysql_connect("localhost","test","test"); 
mysql_select_db("mabase"); 

$a="INSERT INTO `matable` ( `nom` , `prenom` ,`age`) VALUE ('$Nom', '$Prenom', '$Age')";//une requête doit toujours être entre " ";
mysql_query($a); //si tu veux déclencher ta requête au moment où tu la déclare, ne la place pas dans une variable^^

mysql_close(); 
?>


il te faudra un autre formulaire pour transmettre tes variables de la page 1 à la 2, si j'ai bien compris ton truc
Messages postés
246
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
13 juin 2018
5
Ok, je vais y apporter des modif et vous en tiendrais informer :-)
Messages postés
246
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
13 juin 2018
5
Salut,
Merci pour tous, le code:
.................
.............
<input type="hidden" name="nom" value="<?php echo $_POST['nom'] ?>"/>
<input type="hidden" name="prenom" value="<?php echo $_POST['prenom'] ?>" />
<input type="hidden" name="age" value="<?php echo $_POST['age'] ?>" />
...................
................
marche et ça repond à mon attente ':Super:'
En postant le code, j'avais fais quelques erreurs syntaxiques (fermeture des " ) sur la page PHP 2 (insertiion des données); merci de me le rappeler Smoking Bird :-)