KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Vendredi 16 mai 2008 - 07:07:27

Problème variables/session PHP

Rechercher : dans
Problème variables/session PHP
par Nico
 Fil de Discussions
Statut : Non résolu
mardi 1 mars 2005 à 16:00:37
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&q­uot;,"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!
Répondre à Nico  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Fada09, le mardi 1 mars 2005 à 17:03:01 Fil de Discussions
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 :
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
Répondre à Fada09

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Nico, le mercredi 2 mars 2005 à 10:07:39 Fil de Discussions
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!
Répondre à Nico

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par kilian, le mercredi 2 mars 2005 à 10:19:24 Fil de Discussions
Salut,

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
Répondre à kilian

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Fada09, le mercredi 2 mars 2005 à 11:07:56 Fil de Discussions
Oui je pense aussi à un problème de guillemet !

Normalement dans ta page 2 rien à changer.

;-)
~ ~ Fada ~ ~ : Member of #Star!alco
Répondre à Fada09

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Nico, le mercredi 2 mars 2005 à 11:12:43 Fil de Discussions
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_PREREQ­UIS_1,AUTRE_PREREQUIS_2)
VALUES ('$_SESSION[matriceMin]','$_SESSION[espaceDiskNec]','$_SESSION[ParVideoMin]','$_SESSION[ta­illeRAM]','$_SESSION[typeVitProcMin]','$_SESSION[prerequisAppli_1]','$_SESSION[prerequisAp­pli_2]','$_SESSION[prerequisAppli_3]','$_SESSION[prerequisAppli_4]','$_SESSION[prerequisAp­pli_5]','$_SESSION[prerequisAppli_6]','$_SESSION[autrePrerequis_1]','$_SESSION[autrePrereq­uis_2]')";
Répondre à Nico

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Nico, le mercredi 2 mars 2005 à 14:42:47 Fil de Discussions
Problème résolu c'est bon :)
Merci à tous.
Répondre à Nico

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par barbaritta, le dimanche 11 mai 2008 à 17:09:55 Fil de Discussions 
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.
Répondre à barbaritta
Discussions pertinentes trouvées dans le forum
17/02 08h58variable de session PHP qui change de valeurWebmastering24/02 15h349
12/12 16h58[Php] Variable Session, connexion par mdpProgrammation26/03 16h268
30/08 09h34[Php] Problème variables sessionsProgrammation30/08 10h065
30/06 17h31perte variables sessions en phpProgrammation30/06 18h321
Plus de discussions sur « Problème variables/session PHP » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide