Erreur php session_start()

Fermé
lulu21mait Messages postés 12 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 20 avril 2011 - 5 févr. 2011 à 08:40
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 - 5 févr. 2011 à 20:32
Bonjour,

je suis héberger chez Toile-Libre et j'ai cette erreur :
Warning: session_start() [function.session-start]: open(/tmp/php/sess_903cf76cc259fcdc3df1bfd0419d5c9d, O_RDWR) failed: No space left on device (28) in /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php:19) in /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php:19) in /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php:19) in /data/henry2/web/c/9/attaque-me.toile-libre.org/htdocs/index.php on line 21

Warning: Unknown: open(/tmp/php/sess_903cf76cc259fcdc3df1bfd0419d5c9d, O_RDWR) failed: No space left on device (28) 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 (/tmp/php) in Unknown on line 0

pour 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 ('sql.toile-libre.org', 'attaqueme_site', 'XXX');
		mysql_select_db ('attaqueme_site', $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: acceuil.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.';
	}
}
?>
<html>
<head>
<title>Accueil</title>
</head>

<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>


Le problème vien de moi ou de Toile-Libre ? Merci d'avance !

1 réponse

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
5 févr. 2011 à 20:32
Salut.
Le message d'erreur renvoyé par PHP indique qu'il n'y a plus de place dans le dossier d'enregistrement des sessions. Le problème semble se situer plutôt du côté de ton hébergeur. A voir si tu as les droits de gestion de tes répertoires ou pas.

Bon courage.

Cdlt,

IC

PS : Il est recommandé de placer l'instruction session_start() en début de script, surtout si tu utilise les cookies.
0