$_SESSION variable chez online.net
anonyme_boy
-
le père -
le père -
Bonjour,
Je viens de créer un site internet (chez ONLINE.net) avec un formulaire d'inscription simple passant par plusieurs page donc j'utilise $_SESSION en vérifiant bien si la données est bien presente (avec echo)
Les données de mes clients doivent être enregistré dans la base de données associèe .
Table de ma base de données => 2 champs : 'ID' et 'Nom'
Champ : ID
Type : BIGINT
Taille/Valeurs*1 : 20
Interclassement :
Attributs :
Null : not null
Défaut2 :
Extra : auto_increment
Commentaires :
Champ : Nom
Type : TEXT
Taille/Valeurs*1 :
Interclassement : latin1_general_ci
Attributs :
Null : not null
Défaut2 :
Extra :
Commentaires :
Maintenant, voici mon code PHP à la fin de mon formulaire pour écrire les données dans la table:
----------------------------------------------------------------------------------------------------------------
<?php
session_start();
?>
<html>
<body>
<?php
$Nom = $_SESSION['Nom'];
?>
<?php
$host = 'BaseDeDonnees.SiteInternet.com';
$base = 'BaseDeDonnees';
$login = 'BaseDeDonnees';
$pwd = 'MotsDePasse';
// Connexion au serveur
$db = mysql_connect($host, $login, $pwd);
// On test le retour de la connexion
if(!$db)
{
// on affiche un message d'erreur :
print "Désolé, connexion impossible à [$host] : ".mysql_error();
exit;
}
echo $Nom;
$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';
// Une requête qui retourne une erreur si vous n'avez pas de table
if(!mysql_query($sql,$db))
{
// on affiche un message d'erreur :
print "erreur sur la requête $sql dans la base [$base] du serveur [$host]<br>".mysql_error();
mysql_close($db);
exit;
}
// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>
</body>
</html>
----------------------------------------------------------------------------------------------------------------
Lorsque je test mon site internet, j'ai comme ERREUR :
"syntax error, unexpected T_VARIABLE"
Je ne comprends pas !!!
Je viens de créer un site internet (chez ONLINE.net) avec un formulaire d'inscription simple passant par plusieurs page donc j'utilise $_SESSION en vérifiant bien si la données est bien presente (avec echo)
Les données de mes clients doivent être enregistré dans la base de données associèe .
Table de ma base de données => 2 champs : 'ID' et 'Nom'
Champ : ID
Type : BIGINT
Taille/Valeurs*1 : 20
Interclassement :
Attributs :
Null : not null
Défaut2 :
Extra : auto_increment
Commentaires :
Champ : Nom
Type : TEXT
Taille/Valeurs*1 :
Interclassement : latin1_general_ci
Attributs :
Null : not null
Défaut2 :
Extra :
Commentaires :
Maintenant, voici mon code PHP à la fin de mon formulaire pour écrire les données dans la table:
----------------------------------------------------------------------------------------------------------------
<?php
session_start();
?>
<html>
<body>
<?php
$Nom = $_SESSION['Nom'];
?>
<?php
$host = 'BaseDeDonnees.SiteInternet.com';
$base = 'BaseDeDonnees';
$login = 'BaseDeDonnees';
$pwd = 'MotsDePasse';
// Connexion au serveur
$db = mysql_connect($host, $login, $pwd);
// On test le retour de la connexion
if(!$db)
{
// on affiche un message d'erreur :
print "Désolé, connexion impossible à [$host] : ".mysql_error();
exit;
}
echo $Nom;
$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';
// Une requête qui retourne une erreur si vous n'avez pas de table
if(!mysql_query($sql,$db))
{
// on affiche un message d'erreur :
print "erreur sur la requête $sql dans la base [$base] du serveur [$host]<br>".mysql_error();
mysql_close($db);
exit;
}
// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>
</body>
</html>
----------------------------------------------------------------------------------------------------------------
Lorsque je test mon site internet, j'ai comme ERREUR :
"syntax error, unexpected T_VARIABLE"
Je ne comprends pas !!!
A voir également:
- $_SESSION variable chez online.net
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou bloc "with" non définie - Forum VB / VBA
2 réponses
bonjour,
je ne sais pas si tu as trouvé une soluction a ton probleme, mais déjà en regardant rapidement ton code, je m'apercois que tu fais appel a une variable de sesion apres avoir fait un affichage html de ta page.
le code $Nom = $_SESSION['Nom']; devrait se retrouver juste en dessous du code qui te permet d'ouvrir ta session tout en haut de ta page.
ensuite il semblerait qu'il y ait une erreur dans cette ligne de commande :
$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');'
il faudrait plutot ecrire
$sql = "INSERT INTO 'matable' ('ID', 'Nom') VALUES (NULL,'$Nom')";
Il me semble qu'online ne permette pas la gestion de plusieurs bases de données .....
en espérant t'avoir aidé
je ne sais pas si tu as trouvé une soluction a ton probleme, mais déjà en regardant rapidement ton code, je m'apercois que tu fais appel a une variable de sesion apres avoir fait un affichage html de ta page.
le code $Nom = $_SESSION['Nom']; devrait se retrouver juste en dessous du code qui te permet d'ouvrir ta session tout en haut de ta page.
ensuite il semblerait qu'il y ait une erreur dans cette ligne de commande :
$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');'
il faudrait plutot ecrire
$sql = "INSERT INTO 'matable' ('ID', 'Nom') VALUES (NULL,'$Nom')";
Il me semble qu'online ne permette pas la gestion de plusieurs bases de données .....
en espérant t'avoir aidé
Bonjour
Il n'y a absolument aucun problème à utiliser la variable $_SESSION après avoir commencé l'envoi des données, c'est seulement le session_start() qui doit être avant (parce qu'il utilise les en-têtes).
Par contre, tu avais bien un peoblèmes de quotes. Quant tu écris :
'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';
Tu as une chaîne qui commence par un apostrophe. Elle s'arrête donc à l'apostrophe suivant, entre NULL, et $Nom. Derrière, PHP tombe directement sur un nom de variable, ce qui est incorrect.
De plus, ton nom de variable $Nom aurait été dans une chaîne entre apostrophes et n'aurait donc pas été remplacé par la valeur de la variable. La réponse de fab corrige ce problème.
Essaye :
$variable = "machin";
echo "voici la valeur de ma variable $variable<br />";
echo 'voici la valeur de ma variable $variable<br />';
Il n'y a absolument aucun problème à utiliser la variable $_SESSION après avoir commencé l'envoi des données, c'est seulement le session_start() qui doit être avant (parce qu'il utilise les en-têtes).
Par contre, tu avais bien un peoblèmes de quotes. Quant tu écris :
'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';
Tu as une chaîne qui commence par un apostrophe. Elle s'arrête donc à l'apostrophe suivant, entre NULL, et $Nom. Derrière, PHP tombe directement sur un nom de variable, ce qui est incorrect.
De plus, ton nom de variable $Nom aurait été dans une chaîne entre apostrophes et n'aurait donc pas été remplacé par la valeur de la variable. La réponse de fab corrige ce problème.
Essaye :
$variable = "machin";
echo "voici la valeur de ma variable $variable<br />";
echo 'voici la valeur de ma variable $variable<br />';