Espaces membre

Répondre
bibi_6919
le 23/12/2010 à 17:35
bibi_6919
bonjour, j'ai un probleme avec ce script :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = mysql_connect ('localhost', 'name', 'mdp');
mysql_select_db ('membre', $base);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>

sur ma page quand je m'identifie (j'ai fait mon compte admin) et bien sa me marque sa :

Warning: session_start() [function.session-start]: open(/mnt/169/sdd/f/2/thenavy/sessions/sess_0819b82c099ad34c2b0b1977ae68ebb3, O_RDWR) failed: No such file or directory (2) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 21

Warning: Unknown(): open(/mnt/169/sdd/f/2/thenavy/sessions/sess_0819b82c099ad34c2b0b1977ae68ebb3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/169/sdd/f/2/thenavy/sessions) in Unknown on line 0

Merci de m'aider
LA GLOBULE
le 24/12/2010 à 10:50
LA GLOBULE
Rien du tout, faut juste créer le dossier.

D'après les erreurs, ton script essaye d’écrire dans un dossier 'sessions' qui visiblement n'existe pas.
bibi_6919
le 24/12/2010 à 11:39
bibi_6919
Bonjour, parce que enfaite quand j'enleve les session_start() de mes page index.php et inscription.php sa me redirige bien vers ma page membre.php, mais c'est cette derniere qui a un probleme de session_start() ...
LA GLOBULE
le 24/12/2010 à 12:05
LA GLOBULE
Si tu enlèves session_start, c'est normal que les sessions ne se lancent pas, et donc que PHP ne cherche pas à créer de fichiers de sessions, et donc qu'il ne cherche pas à écrire dans ce dossier 'sessions'.
bibi_6919
le 24/12/2010 à 12:11
bibi_6919
c'est a dire que ma page index.php s'ecrit :
if ($data[0] == 1) {
// session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: session/membre.php');
exit();
}


et ma page membre.php s'ecrit comme sa :
<?php 
session_start ();
if (!isset($_SESSION['login'])) {
header ('location: membre.php');
exit();
}
?>
LA GLOBULE
le 24/12/2010 à 14:15
LA GLOBULE
Tu dois créer un dossier 'sessions' pour que ton script fonctionne.

Et peu importe que membre.php se trouve dans le dossier 'session', ce qui entre nous est différent de 'sessions'.

As tu au moins essayé de créer ce satané dossier ?
bibi_6919
le 24/12/2010 à 14:16
bibi_6919
oui et maintenant sa fonctionne et enfaite j'avait creer un dossier " session " et non " sessions " c'est pour sa que je comprenais pas pourquoi sa fonctionnait pas, merci beaucou !!
po la
le 28/12/2010 à 17:05
po la
je te conseil de sécuriser ton dossier session avec un .htaccess
pour en éviter l'accès, et protéger les fichier session
Répondre
LoadingChargement en cours