Problème variables/session PHP
Nico
-
barbaritta Messages postés 3 Statut Membre -
barbaritta Messages postés 3 Statut Membre -
Bonjour à tous!
Voila j'ai un problème de variable sous une sessions en PHP. J'ai créé un formulaire en 1ère page, une fois rempli , on arrive à la 2ème page où ici un récapitulatif des données du formulaire est affiché. Jusque là tout va bien, les données sont bel et bien affichés, mais le problème se passe par la suite. Une fois accepter, la 3ème page afficher des erreurs de variables (pour toutes les données) et j'ai une erreur de syntaxe pour l'insertion dans la base.
Voici les bouts de code:
Page2:
<?php
include("definitions.inc.php3");
//-------on démarre une session------
session_start();
$nomappli=$_POST['nomappli'];
$editeur=$_POST['editeur'];
$nomlong=$_POST['nomlong'];
$code=$_POST['code'];
$version=$_POST['version'];
echo"<center>";
echo"<table border='2'bordercolor='black'>";
echo"<b><center>Détails de l'application</center></b>";
echo"<tr>";
echo"<td bgcolor='#80e0c0'><b>INFORMATIONS GENERALES</b></td>";
echo"<tr><td bgcolor='#48d1cc'>Nom de l'application</td>";
echo"<td bgcolor='#E6E8FA'>$nomappli</td><td><td><td><td><td>";
echo"<tr><td bgcolor='#48d1cc'>Descrpition de l'application</td>";
echo"<td bgcolor='#E6E8FA'>$nomlong</td>";
echo"<tr><td bgcolor='#48d1cc'>Code Convergence</td>";
echo"<td bgcolor='#E6E8FA'>$code</td>";
echo"<tr><td bgcolor='#48d1cc'>Editeur</td>";
echo"<td bgcolor='#E6E8FA'>$editeur</td>";
echo"<tr><td bgcolor='#48d1cc'>Version</td>";
echo"<td bgcolor='#E6E8FA'>$version</td>";
echo"<tr><td bgcolor='#48d1cc'>Type d'application</td>";
echo"</tr>";
echo"</table>";
session_register("nomappli","editeur","nomlong","code","version");
?>
Page3:
<?php
include("definitions.inc.php3");
//--------On démarre la session-----------
session_start();
//----------Connexion au serveur-----------
$serveur = mysql_connect(SERVEUR,NOM,PASSE);
//----------Sélection de la base
if (! mysql_select_db(BASE))
{
echo "Impossibilité de sélectionner la base ".BASE."<br>";
exit;
}
$insert = "INSERT INTO applications (ID_APPLICATIONS,CODE_CONVERGENCE_IET,NOM_COURT,NOM_LONG,EDITEUR,VERSION_EXEC)
VALUES ('','$code','$nomappli','$nomlong','$editeur','$version')";
$result=mysql_query($insert);
if ($result)
{
echo "Vos informations ont bien étés saisies.<br>";
}
else
{
echo"Insertion non réussie";
echo"Erreur ".mysql_errno()." : ".mysql_error()."<br>";
}
//----On détruit les variables contenues dans la session-------
session_unset();
?>
La page 3 m'annonce donc des erreurs comme :
Notice: Undefined variable: code in ...
et à la fin
Insertion non réussieErreur 1062 : Duplicata du champ '0-0' pour la clef 1
Merci beaucoup!
Voila j'ai un problème de variable sous une sessions en PHP. J'ai créé un formulaire en 1ère page, une fois rempli , on arrive à la 2ème page où ici un récapitulatif des données du formulaire est affiché. Jusque là tout va bien, les données sont bel et bien affichés, mais le problème se passe par la suite. Une fois accepter, la 3ème page afficher des erreurs de variables (pour toutes les données) et j'ai une erreur de syntaxe pour l'insertion dans la base.
Voici les bouts de code:
Page2:
<?php
include("definitions.inc.php3");
//-------on démarre une session------
session_start();
$nomappli=$_POST['nomappli'];
$editeur=$_POST['editeur'];
$nomlong=$_POST['nomlong'];
$code=$_POST['code'];
$version=$_POST['version'];
echo"<center>";
echo"<table border='2'bordercolor='black'>";
echo"<b><center>Détails de l'application</center></b>";
echo"<tr>";
echo"<td bgcolor='#80e0c0'><b>INFORMATIONS GENERALES</b></td>";
echo"<tr><td bgcolor='#48d1cc'>Nom de l'application</td>";
echo"<td bgcolor='#E6E8FA'>$nomappli</td><td><td><td><td><td>";
echo"<tr><td bgcolor='#48d1cc'>Descrpition de l'application</td>";
echo"<td bgcolor='#E6E8FA'>$nomlong</td>";
echo"<tr><td bgcolor='#48d1cc'>Code Convergence</td>";
echo"<td bgcolor='#E6E8FA'>$code</td>";
echo"<tr><td bgcolor='#48d1cc'>Editeur</td>";
echo"<td bgcolor='#E6E8FA'>$editeur</td>";
echo"<tr><td bgcolor='#48d1cc'>Version</td>";
echo"<td bgcolor='#E6E8FA'>$version</td>";
echo"<tr><td bgcolor='#48d1cc'>Type d'application</td>";
echo"</tr>";
echo"</table>";
session_register("nomappli","editeur","nomlong","code","version");
?>
Page3:
<?php
include("definitions.inc.php3");
//--------On démarre la session-----------
session_start();
//----------Connexion au serveur-----------
$serveur = mysql_connect(SERVEUR,NOM,PASSE);
//----------Sélection de la base
if (! mysql_select_db(BASE))
{
echo "Impossibilité de sélectionner la base ".BASE."<br>";
exit;
}
$insert = "INSERT INTO applications (ID_APPLICATIONS,CODE_CONVERGENCE_IET,NOM_COURT,NOM_LONG,EDITEUR,VERSION_EXEC)
VALUES ('','$code','$nomappli','$nomlong','$editeur','$version')";
$result=mysql_query($insert);
if ($result)
{
echo "Vos informations ont bien étés saisies.<br>";
}
else
{
echo"Insertion non réussie";
echo"Erreur ".mysql_errno()." : ".mysql_error()."<br>";
}
//----On détruit les variables contenues dans la session-------
session_unset();
?>
La page 3 m'annonce donc des erreurs comme :
Notice: Undefined variable: code in ...
et à la fin
Insertion non réussieErreur 1062 : Duplicata du champ '0-0' pour la clef 1
Merci beaucoup!
A voir également:
- Problème variables/session PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Php alert ✓ - Forum PHP
7 réponses
Salut,
A la place de $code tu devrais plutot mettre $_SESSION['code'] !
Normalement la communication entre deux pages pour valider un formulaire se fait en utilisant la méthode POST ou GET.
Ensuite ton champ ID_APPLICATIONS doit être surement en auto-increment donc si c'est le cas tu as aps besoin de l'écrire dans ta requete :
Ca devrait aller mieux mais encore une fois je te conseille d'utiliser POST ou GET (cherches des tutoriaux sur ce site ou sur www.google.fr)
bon courage ++
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
A la place de $code tu devrais plutot mettre $_SESSION['code'] !
Normalement la communication entre deux pages pour valider un formulaire se fait en utilisant la méthode POST ou GET.
Ensuite ton champ ID_APPLICATIONS doit être surement en auto-increment donc si c'est le cas tu as aps besoin de l'écrire dans ta requete :
INSERT INTO applications
(CODE_CONVERGENCE_IET,
NOM_COURT,
NOM_LONG,
EDITEUR,
VERSION_EXEC)
VALUES
('$_SESSION['code']',
'$_SESSION['nomappli']',
'$_SESSION['nomlong']',
'$_SESSION['editeur']',
'$_SESSION['version']')";
Ca devrait aller mieux mais encore une fois je te conseille d'utiliser POST ou GET (cherches des tutoriaux sur ce site ou sur www.google.fr)
bon courage ++
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
C'est ce que je pensais utiliser mais je ne vois pas trop comment faire, le $_SESSION['code'] par exemple où faut il le mettre? faut changer quelque chose dans la page 2? j'avais utilisé un POST pourtant.
Et au fait pour le bout de code que tu as mis avec $_SESSION['code'] , ca me met une erreur à cette ligne là:
parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
merci!
Et au fait pour le bout de code que tu as mis avec $_SESSION['code'] , ca me met une erreur à cette ligne là:
parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
merci!
Salut,
Peut être un soucis avec les guillemets, essaie:
Au lieu d'utiliser session_register() essaie plutôt:
$_SESSION['nomappli']=$nomappli; //par exemple
Peut être un soucis avec les guillemets, essaie:
$a="INSERT INTO applications
(CODE_CONVERGENCE_IET,
NOM_COURT,
NOM_LONG,
EDITEUR,
VERSION_EXEC)
VALUES
('".$_SESSION['code']."',
'".$_SESSION['nomappli']."',
'".$_SESSION['nomlong']."',
'".$_SESSION['editeur']"'.,
'".$_SESSION['version']."')";
mysql_query($a);
Au lieu d'utiliser session_register() essaie plutôt:
$_SESSION['nomappli']=$nomappli; //par exemple
Oui je pense aussi à un problème de guillemet !
Normalement dans ta page 2 rien à changer.
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
Normalement dans ta page 2 rien à changer.
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai réussi c'est bon :)
Merci beaucoup.
Par contre j'ai juste une dernière erreur, une erreur de syntaxe lors de l'insertion et je ne vois aucune erreur sur l'insertion dans la table pourtant:
$insert9 = "INSERT INTO pre_requis_materiel (NIVEAU_MATRICE_MINI,ESPACE_DISQUE_INSTALL,PARAMETRE_VIDEO,TAILLE_MEMOIRE,TYPE_PROCESSEUR,NOM_PREREQ_1,NOM_PREREQ_2,NOM_PREREQ_3,NOM_PREREQ_4,NOM_PREREQ_5,NOM_PREREQ_6,AUTRE_PREREQUIS_1,AUTRE_PREREQUIS_2)
VALUES ('$_SESSION[matriceMin]','$_SESSION[espaceDiskNec]','$_SESSION[ParVideoMin]','$_SESSION[tailleRAM]','$_SESSION[typeVitProcMin]','$_SESSION[prerequisAppli_1]','$_SESSION[prerequisAppli_2]','$_SESSION[prerequisAppli_3]','$_SESSION[prerequisAppli_4]','$_SESSION[prerequisAppli_5]','$_SESSION[prerequisAppli_6]','$_SESSION[autrePrerequis_1]','$_SESSION[autrePrerequis_2]')";
Merci beaucoup.
Par contre j'ai juste une dernière erreur, une erreur de syntaxe lors de l'insertion et je ne vois aucune erreur sur l'insertion dans la table pourtant:
$insert9 = "INSERT INTO pre_requis_materiel (NIVEAU_MATRICE_MINI,ESPACE_DISQUE_INSTALL,PARAMETRE_VIDEO,TAILLE_MEMOIRE,TYPE_PROCESSEUR,NOM_PREREQ_1,NOM_PREREQ_2,NOM_PREREQ_3,NOM_PREREQ_4,NOM_PREREQ_5,NOM_PREREQ_6,AUTRE_PREREQUIS_1,AUTRE_PREREQUIS_2)
VALUES ('$_SESSION[matriceMin]','$_SESSION[espaceDiskNec]','$_SESSION[ParVideoMin]','$_SESSION[tailleRAM]','$_SESSION[typeVitProcMin]','$_SESSION[prerequisAppli_1]','$_SESSION[prerequisAppli_2]','$_SESSION[prerequisAppli_3]','$_SESSION[prerequisAppli_4]','$_SESSION[prerequisAppli_5]','$_SESSION[prerequisAppli_6]','$_SESSION[autrePrerequis_1]','$_SESSION[autrePrerequis_2]')";
bonjour, si quelqu’un pourrait m'aider j’en serais très reconnaissante, j ai développé un site web dynamique , l'utilisateur se connecte avec login et mot de passe , j ai utilisé une variable de session qui est le login pour pouvoir accéder à une session , jusque là tout se passe bien seulement puisque toutes mes pages ne sont accessibles qu’avec la variable de session , kan j veux accéder à l une d entre elles , elles me revoient à la page connexion c à dire où l utilisateur saisit son login et son mot de passe pour se connecter , sachant que parfois elles reconnaissent la variable de session et parfois non j ai pas pu détecter le problème, merci d'avance de votre aide.