[php] problème session ovh
Résolu
Benkyou
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
ThEBiShOp Messages postés 8411 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 8411 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je viens à vous pour vous demander de l'aide. Débutant en php/sql & co, je suis pas tellement au point dans la matière, c'est pour cela que je suis ici.
Mon problème reside dans les sessions.
En étant chez OVH, la page de connexion/identification me met une belle phrase d'erreur bien dérangante; la voici:
"Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homez.167/cgamkara/www/index.php:6) in /homez.167/cgamkara/www/connexion2.php on line 2"
Un problème que je présume fort banale pour vous. Mais ce que je ne comprends pas, je viens de transférer mes fichiers en question d'un autre serveur (Freezee.org) ou là-bas, il n'y avait aucun problème de session.
(En précisant qu'OVH et Freezee utilisent Php5)
Pourquoi ce problème apparait-il chez OVH et non pas Freezee si mon code contient des erreurs ?
J'espère que vous pourriez répondre.
Amicalement,
Benkyou
--------------------------------------------------------------------------------
Voici mes pages : connexion.php & connexion2.php
--------------------------------------------------------------------------------
connexion2.php
<?php
session_start();
require_once('connexion.php');
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = md5($_POST['pass']);
mysql_select_db($bdd, $db);
$verif_query=sprintf("SELECT * FROM cgam_users WHERE login='$login' AND pass='$pass'");
$verif = mysql_query($verif_query, $db) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
session_register("authentification");
$_SESSION['privilege'] = $row_verif['privilege'];
$_SESSION['nom'] = $row_verif['nom'];
$_SESSION['prenom'] = $row_verif['prenom'];
$_SESSION['login'] = $row_verif['login'];
$_SESSION['pass'] = $row_verif['pass'];
header("Location:index.php?page=connexion2");
}
else {
header("Location:index.php?page=connexion2&erreur=login");
}
}
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout')
{
$prenom = $_SESSION['prenom'];
session_unset("authentification");
header("Location:index.php?erreur=delog");
}
?>
<?php
if (session_is_registered("authentification"))
{
echo '
vous etes connecté
' ;
}
else {
echo '
Formulaire de connexion
';
}
?>
<?php
if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur ?>
Echec d'authentification !!! > login ou mot de passe incorrect</span>
<span class="Style19">
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche la deconexion ?>
Déconnexion réussie... A bientôt !</span>
<span class="Style19">
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page !</span>
<span class="Style19">
<?php
}
?>
--------------------------------------------------------------------------------
Connexion.php
<?php
$localhost = "mysql5-10";
$user = "cgamkaratek"; // Identifiant de la bdd
$pass = "****"; // Mot de passe de la bdd
$bdd = "cgamkaratek"; // Nom de la bdd
?>
Je viens à vous pour vous demander de l'aide. Débutant en php/sql & co, je suis pas tellement au point dans la matière, c'est pour cela que je suis ici.
Mon problème reside dans les sessions.
En étant chez OVH, la page de connexion/identification me met une belle phrase d'erreur bien dérangante; la voici:
"Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homez.167/cgamkara/www/index.php:6) in /homez.167/cgamkara/www/connexion2.php on line 2"
Un problème que je présume fort banale pour vous. Mais ce que je ne comprends pas, je viens de transférer mes fichiers en question d'un autre serveur (Freezee.org) ou là-bas, il n'y avait aucun problème de session.
(En précisant qu'OVH et Freezee utilisent Php5)
Pourquoi ce problème apparait-il chez OVH et non pas Freezee si mon code contient des erreurs ?
J'espère que vous pourriez répondre.
Amicalement,
Benkyou
--------------------------------------------------------------------------------
Voici mes pages : connexion.php & connexion2.php
--------------------------------------------------------------------------------
connexion2.php
<?php
session_start();
require_once('connexion.php');
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = md5($_POST['pass']);
mysql_select_db($bdd, $db);
$verif_query=sprintf("SELECT * FROM cgam_users WHERE login='$login' AND pass='$pass'");
$verif = mysql_query($verif_query, $db) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
session_register("authentification");
$_SESSION['privilege'] = $row_verif['privilege'];
$_SESSION['nom'] = $row_verif['nom'];
$_SESSION['prenom'] = $row_verif['prenom'];
$_SESSION['login'] = $row_verif['login'];
$_SESSION['pass'] = $row_verif['pass'];
header("Location:index.php?page=connexion2");
}
else {
header("Location:index.php?page=connexion2&erreur=login");
}
}
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout')
{
$prenom = $_SESSION['prenom'];
session_unset("authentification");
header("Location:index.php?erreur=delog");
}
?>
<?php
if (session_is_registered("authentification"))
{
echo '
vous etes connecté
' ;
}
else {
echo '
Formulaire de connexion
';
}
?>
<?php
if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur ?>
Echec d'authentification !!! > login ou mot de passe incorrect</span>
<span class="Style19">
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche la deconexion ?>
Déconnexion réussie... A bientôt !</span>
<span class="Style19">
<?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page !</span>
<span class="Style19">
<?php
}
?>
--------------------------------------------------------------------------------
Connexion.php
<?php
$localhost = "mysql5-10";
$user = "cgamkaratek"; // Identifiant de la bdd
$pass = "****"; // Mot de passe de la bdd
$bdd = "cgamkaratek"; // Nom de la bdd
?>
A voir également:
- [php] problème session ovh
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Ovh dédié ✓ - Forum Hébergement
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
6 réponses
cette erreur survient quand il y a déjà du code html à avoir été envoyé avant d'utiliser le session_start
Pourtant j'ai bien indiquer sur ma page connexion2.php ce code ci au tout début :
<?php
session_start();
Il n'y a pas de code HTML présent ci-dessus.
<?php
session_start();
Il n'y a pas de code HTML présent ci-dessus.
Je viens de résoudre ce problème grâce à ta petite réponse :
"Cette erreur survient quand il y a déjà du code html à avoir été envoyé avant d'utiliser le session_start"
Oui en effet, j'avais intégré cette page en question via une include.
J'ai donc ajouter à ma page index.php
<?php
session_start();
Et hop ça marche.
Une petit erreur de noobisme en puissance... oups :D
Merci de tes réponses ThEBiShOp,
Amicalement,
Benkyou :D
"Cette erreur survient quand il y a déjà du code html à avoir été envoyé avant d'utiliser le session_start"
Oui en effet, j'avais intégré cette page en question via une include.
J'ai donc ajouter à ma page index.php
<?php
session_start();
Et hop ça marche.
Une petit erreur de noobisme en puissance... oups :D
Merci de tes réponses ThEBiShOp,
Amicalement,
Benkyou :D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question