Je suppose poster mon sujet sur le bon forum, vu que je suis plutôt débutant en PHP.. Et pas qu'un peu. Quoi qu'il en soit, je commence mon baptême du feu plutôt violement, puisque je me suis mis dans la tête de faire plusieurs scripts comme: Enregistrement / login / edition de compte, etc.
Bon, l'enregistrement, c'est fait, c'est bon. Maintenant, le login, je crois que c'est bon. Maintenant, ce que j'aimerais, c'est qu'après qu'un utilisateur ce soit connecté, il puisse voir les informations de son compte.
Vu que cet utilisateur est une variable, je suis un peu embêté, parce que j'ai essayé de farfouiller un peu dans les scripts qu'un ancien co-webmaster m'avait fait, et là j'ai essayé de bidouiller qq chose en reprenant son idée, sauf que ça marche pas, lol. Je vous montre les scripts:
Le code PHP de la page "My account":
<?
include ("secur.php"); // J'inclus secur qui permet de garder la session
?>
<?
include("config.php"); // Les config du serveur
$lien = mysql_connect ($hote, $user, $mdp);
$login = session_name('login'); // J'essaye d'utiliser la session qui a dût débuter grâce a session_start() dans ma page de login
$sql = "select nickname,email from registrations where nickname='$login'"; // je sélectionne les données que je veux voir apparaitre dans la ligne qui coresspond a la variable de lutilisateur
$req = mysql_db_query ($nombase, $sql, $lien) or die('SQL ERROR !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
while ($ligne = mysql_fetch_array($req)) print ("$ligne[nickname]") //J'affiche le nom de l'utilisateur
?>
...Sauf qu'avec ça, sur la page en question, le nom d'utilisateur ne s'affiche pas.Je vous montre aussi les scripts que j'ai mis pour le login et secure():
traitement_login.php:
<?
include("config.php");
if ($_POST['nickname']=='' || $_POST['password']=='')
{
$err=true;
}
$lien = mysql_connect ($hote, $user, $mdp);
$sql = "select nickname,password,status from registrations where nickname='$nickname'";
$req = mysql_db_query ($nombase, $sql, $lien) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if ($data['password'] == $_POST['password'] && $data['nickname'] == $_POST['nickname'])
{
if ($err!=true)
{
session_start(); // Ici je veux que la session commence
session_register('login'); // et qu'elle se nomme login
$message = "<p><strong>Welcome,<font size=2 face=Arial color=#000000><b> $nickname </b></font>!</strong></p><p><strong>You're now logged on the website.</strong></p>";
}
else
{
$message = "<font size=2 face=Arial color=#000000><br><b>One of the field is blank, please retry it. Thanks.</b></font>";
$err=true;
}
}
else
{
$message = "<font size=2 face=Arial color=#000000><br><b>This is not the correct login or(and) password.</b></font>";
$err=true;
}
mysql_close($lien);
?>
Ici il me semble que tout va bien, je ne suis juste pas sûr de cette histoire de session... :SEt voici secur.php:
<?
session_start();
if(!session_is_registered('login'))
{
echo 'You must be logged to see the account page !';
include('login.php');
exit;
}
?>
Voilà... Si quelqu'un pouvait éclairer ma lanterne, ce serait sympa, parce que là je vois bien que je bloque sur une erreur de débutant, mais je vois pas quoi ! Je pense que c'est mon idée d'utiliser la session 'login' pour "nickname" qui joue pas, mais je sais pas comment faire...Merci d'avance a toute personne plus calée que moi si elle peut m'aider !
Julien