Aide session PHP Free

Fermé
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010 - 20 mai 2009 à 17:25
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 21 mai 2009 à 16:39
Bonjour,
Je voudrais crer des sessions utilisateurs mysql en php avec free voici mes codes pourriez vous m'aidez SVP

connection.php:

<?php
/*
si les champs de login et de mot de passe ne sont pas vides
on insère l'utilisateur.
*/
if($_POST["login"] != "login" && $_POST["mot_de_passe"] != "mot_de_passe")
{
$login = $_POST["login"];
$pass = md5($_POST["mot_de_passe"]) ;

//connexion au serveur
$cnx = mysql_connect(localhost, lydllt, "", lydllt) ;
//sélection de la base de données
$db = mysql_select_db(user) ;
//création de la requête SQL
$sql = "SELECT * FROM user WHERE login_user = '".$login."' AND pass_user = '".$pass."'" ;
//exécution de la requête SQL
$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error()) ;
//on récupère le résultat
$result = mysql_fetch_object($requete) ;
//si la requête s'est bien passée
if(is_object($result))
{
//début de la sessions
session_start() ;
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["login"] = $login ;

header("Location: Acceuil.php") ;
}//fin if
//sinon on retourne à la page d'inscription
else
{
header("Location: inscription.php") ;
}//fin else
}//fin if
/*
sinon on retourne à la page d'inscription
*/
else
{
header("Location: inscription.php") ;
}//fin else

Son formulaire :

<form id="form1" name="form1" method="post" action="../membre.php">
<div align="center">
<table width="260" border="0">
<tr>
<th width="101" scope="row">Pseudo :</th>
<td width="149"><label>
<input type="text" name="login" id="login" />
</label></td>
</tr>
<tr>
<th scope="row">Mot de Passe :</th>
<td><label>
<input type="password" name="mot_de_passe" id="mot_de_passe" />
</label></td>
</tr>
<tr>
<th scope="row"> </th>
<td><label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label></td>
</tr>
</table>
</div>
</form>



inscription.php :

<?php
/*
si les champs de login et de mot de passe ne sont pas vides
on insère l'utilisateur.
*/
if($_POST["login"] != "login" && $_POST["mot_de_passe"] != "mot_de_passe")
{
$login = $_POST["login"];
$pass = md5($_POST["mot_de_passe"]) ;

//connexion au serveur
$cnx = mysql_connect(localhost, lydllt, "", lydllt) ;
//sélection de la base de données
$db = mysql_select_db(user) ;

//création de la requête SQL
$sql = "INSERT INTO user (login_user, pass_user) VALUES ('".$login."', '".$pass."')" ;
//exécution de la requête SQL
$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error());

//si la requête s'est bien passé, on affiche un message de succès
if($requete)
{
echo "L'inscription s'est bien déroulée, <a href=\"connection.php\">Se connecter</a>" ;
} //fin if
//sinon on retourne à la page d'inscription
else
{
header("Location: inscription.php") ;
}//fin else
}//fin if
/*
sinon on retourne à la page d'inscription
*/
else
{
header("Location: inscription.php") ;
}//fin else
?>

son formulaire créer avec dreamweaver:

<form id="form1" name="form1" method="post" action="inscription.php">
<div align="center">
<table width="308" border="0">
<tr>
<th width="137" scope="row">Pseudo :</th>
<td width="161"><span id="sprytextfield1">
<label>
<input type="text" name="login" id="login" />
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span></td>
</tr>
<tr>
<th scope="row">Mot de Passe:</th>
<td><span id="sprytextfield2">
<label>
<input type="password" name="mot_de_passe" id="mot_de_passe" />
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span></td>
</tr>
<tr>
<th scope="row"> </th>
<td><label>
<input type="submit" name="Envoyer" id="Envoyer" value="Inscription" />
</label></td>

membre.php :

<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>

<html>
<head>
<title>Espace membre</title>
</head>

<body>
Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
<a href="../logout.php">Dconnexion</a>
</body>
</html>

logout.php



<?php

session_start();
session_unset();
session_destroy();
header('Location: Acceuil.html');
exit();
?>

Merci de votre aide mon e-mail lydllt@free.fr
A voir également:

12 réponses

Utilisateur anonyme
20 mai 2009 à 18:23
ils suffit de rer le dossier sessions a la racine du site
0
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010
20 mai 2009 à 18:51
Comment sa a la racine et est ce que mon script est bon svp car il ne fonctionne pas bien je pense car quand le formulaire n'est meme pas remplis il affche du texte d'erreur aller vérifier lydllt.free.fr
0
Utilisateur anonyme
20 mai 2009 à 19:35
nan sur ton ftp aqua&nd tu te connecte tu va dans aucun autre dossier et la tu met le dossier sessions
0
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010
21 mai 2009 à 14:41
D'accord le dossier est créer a la racine et j'en fais quoi maintenent, je met quoi dedans stp !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
21 mai 2009 à 14:43
rien tu met rien !
0
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010
21 mai 2009 à 15:09
Ok Merci je vais esseyer ^^.
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 mai 2009 à 15:12
Pour être un peu plus précis, Free est configuré pour se servir de ce dossier pour pouvoir utiliser les sessions. A priorie, il met dedans les fichiers temporaires qui servent à l'usage des sessions.
0
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010
21 mai 2009 à 15:39
Ok mais maintenent que je l'ai fais et que j'ai réctifier mes codes:

inscription.php


<form action="inscription2.php" method='post' onsubmit="return(VerifForm(this))">
<div align="center">
<table width="279" border="0" class="text1">
<tr>
<td width="125" height="24">Pseudo :</td>
<td width="144"><div align="left">
<input type="text" name="login" />
</div></td>
</tr>
<tr>
<td height="24">Mot de Passe : :</td>
<td><div align="left">
<input type="password" name="password" />
</div></td>
</tr>
<tr>
<td>Mail (Obligatoire):</td>
<td><input type="text" name="mail" /></td>
</tr>
<br />
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="S'inscrire" /></td>
</tr>
</table>

inscription2.php

<?
include('conf.php');
$login= $_POST['login'];
$password= $_POST['password'];
$mail= $_POST['mail'];


if($login=="" || $password=="" || $mail=="")
{
echo '<script language=javascript> alert ("Vous avez oublié de remplir un champs");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="inscription.php" </SCRIPT>';
exit;
}
$sql = "SELECT login FROM membres_tbl WHERE login='$_POST[login]'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_array($req);

if($data['login']==$login)
{
echo '<script language=javascript> alert ("Votre pseudo est déja pris");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="inscription.php"
</SCRIPT>';
exit;
}
$sql = "SELECT mail FROM membres_tbl WHERE mail='$_POST[mail]'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_array($req);

if($data['mail']==$mail)
{
echo '<script language=javascript> alert ("Cette adresse e-mail à déjà été inscrite !");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="inscription.php"
</SCRIPT>';
exit;
}
else
{
$requete=mysql_query("INSERT INTO membres_tbl VALUES('','$_POST[login]','$_POST[password]','$_POST[mail]')");
echo ' <p>Votre login à été ajouté à ma base de
données, <a href="connect.php">cliquez ici</a> pour vous connecter.</p>
';
}
?>

conf.php:


<?
$host="localhost";
$user="lydllt";//nom d'utilisateur
$pass="???";//mot de pass
$base="lydllt";//nom de la bases de données
$connect=mysql_connect($localhost,$lydllt,$hinda123);
mysql_select_db($membres_tbl , $connect);
?>

connect.php:

<form id="form1" name="form1" method="post" action="">
<div align="center"></div>
</form>
<form id="form2" name="form2" method="post" action="">
<p> </p>
<div align="center">
<table align="left" border="0" class="text1">
<tr>
<td width="60">Login :</td>
<td width="146"><input type="text" name="login" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion" /></td>
</tr>
</table>

connect2.php:


<?
require("conf.php");

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from membres_tbl where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['password'] != $password) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
else {
session_start();
$_SESSION['login'] = $login;

echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="membres.php" </SCRIPT>';
}
}
else {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>

membres.php:


<?
session_start();

if(!isset($_SESSION['login'])) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>
<?php echo '<p>Bonjour ',$_SESSION['login'],'</p>';
?>

Se script m'a l'air un peu mieux mais quand je fais inscription je m'inscrit

et tombe sur inscription2.php le code suivant apparait sachant que je veut mappeller Admin.

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /mnt/101/sda/5/1/lydllt/conf.php on line 117

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/101/sda/5/1/lydllt/inscription2.php on line 126
Erreur SQL !
SELECT login FROM membres_tbl WHERE login='Admin'
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 mai 2009 à 15:47
Ben il arrive pas à se connecter à ta base de donnée. Vérifie le fichier conf.php et les informations que tu mets dedans. C'est normal le pass="???" ?
0
Utilisateur anonyme
21 mai 2009 à 15:58
Bonjour,
Je vois le problème au niveau des variables dans mysql_connect().
Au lieu de :
$connect=mysql_connect($localhost,$lydllt,$hinda123); 


Je verrai plutôt :
$connect=mysql_connect($host,$user,$pass); 
0
lydllt Messages postés 40 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 22 août 2010
21 mai 2009 à 16:11
Merci cela marche cela venais de la connection vers mysql
Merci mais connait ceriez vous des script php membre pour qu'il est une photo perso, Une zone membres complete.
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 mai 2009 à 16:39
Ah ouai, j'avais pas fait attention à ce détail...

Si ton problème est résolu, oublie pas de mettre le statu en résolu en haut.
0