Code PHP pour récupérer certaines données

Résolu/Fermé
ib02 Messages postés 246 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 13 juin 2018 - 16 janv. 2009 à 00:58
ib02 Messages postés 246 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 13 juin 2018 - 16 janv. 2009 à 17:28
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 :-)
A voir également:

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 ?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
16 janv. 2009 à 01:36
<input type="hidden" name="nom" value="<?=$_POST['nom']?>"/>
<input type="hidden" name="prenom" value="<?=$_POST['prenom']?>" />
<input type="hidden" name="age" value="<?=$_POST['age']?>" />
0
othanga > Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011
16 janv. 2009 à 01:40
héhé ! j'aime quand ça ressemble à de l'ASP ;-)
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58 > othanga
16 janv. 2009 à 01:42
j'te fais confiance ;) je parle pas ASP :) je sais juste que les deux langages sont semblables^^
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
16 janv. 2009 à 01:41
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
0
ib02 Messages postés 246 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 13 juin 2018 5
16 janv. 2009 à 13:31
Ok, je vais y apporter des modif et vous en tiendrais informer :-)
0
ib02 Messages postés 246 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 13 juin 2018 5
16 janv. 2009 à 17:28
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 :-)
0