Page 1 sur 1

Petit problème de session..

Posté : 16 déc. 2006, 01:53
par dr.smoogy
Hello,

J'ai un petiti problème:

j'ai une page de connexion, avec un session_start(); et définition des variables
session_start();
$_SESSION['selecter'] = $selecter;
$_SESSION['login'] = $login;
$_SESSION['pass'] = $pass;
header('Location:index2.html');
$selecter est une liste ou l'utilisateur choisit dans quel table s'inscrire

et la page index2.html qui contient des frame donc une page php:donnescompte.php qui affiche les infos de l'utilisateur inscrit.
<?php
session_start();
?>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("drsmoogy");
$reponse = mysql_query("SELECT login,monde FROM $selecter WHERE pseudo='". $_SESSION['login'] . "'");

while ($donnees = mysql_fetch_array($reponse) )
{

echo "<b><u><font face=Arial>" . $_SESSION['login'] . "</font></u></b>";
echo "<br />";
echo "<font face=Arial>Localisation:<b>". $donnees['monde'] . "</b></font>";


echo "<br />";
}
mysql_close(); // Déconnexion de MySQL
?> 
tout marchait jusqua ce que je veuille choisir via les sessions les bonnes infos et donc celle ou s'inscrit l'utilisateur.
VIA FROM $selecter et le problème et que j'ai une erreur qui s'affiche:

Notice: Undefined variable: selecter in c:\program files\easyphp1-8\www\connexion\vraisite\donnescompte.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\connexion\vraisite\donnescompte.php on line 21


j'ai essayer de remplacer $selecter par $_SESSION['selecter'] ou '". $_SESSION['selecter'] . "' mais sa ne marche pas.

d'avance merci.

Posté : 16 déc. 2006, 02:07
par Ajoloca
Bonsoir,

Renomme ta page index2.html en index2.php, ajoute un session_start() avant toute chose (même avant le DOCTYPE).

Posté : 16 déc. 2006, 02:31
par dr.smoogy
Hello,

Merci, mais même après les changements rien ne se passe, toujours la même erreur :s.

Posté : 16 déc. 2006, 02:34
par Ajoloca
Re,

Fais afficher la valeur de $_SESSION['selecter'] pour voir son contenu.

Posté : 16 déc. 2006, 02:42
par dr.smoogy
$reponse = mysql_query("SELECT login,monde FROM '". $_SESSION['selecter'] . "' WHERE pseudo='". $_SESSION['login'] . "'");

Voila comment j'ai placer le code, j'ai encore un peu de mal, avec mettre des " ou ' ou des .

merci.

Posté : 16 déc. 2006, 02:54
par Ajoloca
Re,
Utilise les balise [ php] et [/php].

Tu as des erreurs de syntaxe mais tu ne testes pas le retour de MySQL
TOUJOURS TESTER LE RETOUR d'une fonction, MySQL, etc... TOUJOURS TESTER
Exécute ça à la place et si tu as des erreurs poste-les.
$qrySelect = "SELECT login, monde FROM ". $_SESSION['selecter'] . " WHERE pseudo='". $_SESSION['login'] . "'";
$reponse = mysql_query($qrySelect ) or die('ERR_SQL:<br />' . $qrySelect . '<br />' . mysql_error()); 

Posté : 16 déc. 2006, 03:06
par dr.smoogy
Sa marche merci, mais j'aurai besoin d'un conseil que veut dire les point, que l'on met entre "".

". $_SESSION['selecter'] . "
Merci encore.

Posté : 16 déc. 2006, 03:18
par Ajoloca
Re,
Sa marche merci, mais j'aurai besoin d'un conseil que veut dire les point, que l'on met entre "".

". $_SESSION['selecter'] . "
Merci encore.
C'est le signe de la concaténation.

Si tu as une variable $a qui contient 'Début' une autre $b qui contient 'et' et une autre $c qui contient 'fin' si tu veux construire la phrase $f qui contiendra 'Début et fin' tu devras concaténer (ajouter) $a + un espace + $b + un espace + $c.
Ceci en PHP
$a = 'Début';
$b = 'et';
$c = 'fin';
$f = $a . ' ' . $b . ' ' . $c;
echo $f; // Affichera Début et fin

Posté : 16 déc. 2006, 03:25
par dr.smoogy
Ok, je te remercie.

A+