Erreur Warning session_start()
Bonjour à tous,
Comme il fallait que je protège l'accès de mon site, étant chez Free, avec htaccess et .htpasswd il y a eu trop de prb, donc, je me suis rabattu sur du php.
J'ai essayé en local et tout était parfait, donc, j'ai transféré !
Et c'est là le hic !
En effet, lorsque j'appelle le site, j'ai bien la demande du login et du pwd, mais quand je valide voilà ce que j'ai
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Warning: session_start() [function.session-start]: open(/mnt/102/sda/0/2/sabrimi/sessions/sess_c0d9c45888d719dc639a23358d642b10, O_RDWR) failed: No such file or directory (2) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30
Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 36
Warning: Unknown(): open(/mnt/102/sda/0/2/sabrimi/sessions/sess_c0d9c45888d719dc639a23358d642b10, 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/102/sda/0/2/sabrimi/sessions) in Unknown on line 0 |
A tout hasard voici le code :
index.html
Code:
1 2 3 4 5 6 7 8 9 10 11
| <table>
<tr>
<td>Login :</td><td><input name="login" /></td>
</tr>
<tr>
<td>Mot de passe :</td><td><input type="password" name="passwd" /></td>
</tr>
<tr><td colspan="2" align="center"><input type="submit" value="Login !"></td></tr>
</table> |
Et celui des scripts des répertoires :
Config :Templates "auth.php" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <?php
function CheckUser($login,$md5)
{
if($login=="xxxxxxxxxxxxi" && $md5=="xxxxxxxxxxxxxxxxxxxxx") // MD5 de xxxxxxx
return true;
return false;
}
?>
<?php
if(!isset($_POST['md5']))
{
header("Location: ../index.html");
die();
}
$md5=$_POST['md5'];
if(!isset($_POST['login']))
{
header("Location: ../index.html");
die();
}
$login=$_POST['login'];
if(!CheckUser($login,$md5))
{
header("Location: ../index.html");
die();
}
session_start();
$_SESSION['last_access']=time();
$_SESSION['ipaddr']=$_SERVER['REMOTE_ADDR'];
$_SESSION['user']=$login;
header("Location: ../index.php");
?> |
Templates "auth.php" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <?php
include "config/auth-config.php";
session_start();
if(!isset($_SESSION['last_access']) || !isset($_SESSION['ipaddr']) || !isset($_SESSION['user']))
{
header("Location: index.html");
die();
}
if(time()-$_SESSION['last_access']>$session_timeout)
{
unset($_SESSION['last_access']);
unset($_SESSION['user']);
unset($_SESSION['ipaddr']);
header("Location: index.html");
die();
}
if($_SERVER['REMOTE_ADDR']!=$_SESSION['ipaddr'])
{
unset($_SESSION['last_access']);
unset($_SESSION['user']);
unset($_SESSION['ipaddr']);
header("Location: index.html");
die();
}
$_SESSION['last_access']=time();
?> |
Et celui dans config :auth-config.php !
Code:
1 2 3 4 5 6
| <?php
// Configuration du site
// Timeout pour 5 min d'inactivite
$session_timeout=300;
?> |
Apparemment, c'est pas le dernier qui gène !
Je vous remercie de votre aide pour me dire ce que je dois faire.
Ah oui, il faut que je précise.
Pour que ça marche bien, j'ai du renommer "login.php" en 'index.html" et pour le site "index.html" en "index.php", pour que la page du login/pwd s'affiche en premier.