JeuWeb - Crée ton jeu par navigateur
Problème lors de ma connexion - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Problème lors de ma connexion (/showthread.php?tid=3091)

Pages : 1 2


Problème lors de ma connexion - Klaad - 23-09-2008

Bonjour à tous !

J'ai commencé à tester mon jeu avec ifrance (rigolez pas ... arrêtez) et ça allait plus où moins à part la vieille pub en haut.
Puis j'ai découvert Olympe-network. C'est mieux je trouve.
Lorsque j'ai changé mon hébergeur (je n'ai pas oublié de changer les données pour la BDD), des problèmes apparaissent ...

En voici un ici qui perdure ...


J'ai utilisé un tuto de ce forum pour faire mon inscription/connexion.

Donc mon code erreur est celle-ci :

Citation :Vous êtes actuellement redirigé vers l'accueil.
Warning: Cannot modify header information - headers already sent by (output started at /www/monjeu/login.php:3) in /www/reignofdarkness/login.php on line 120

Vous avez oublié de remplir un champ.

Warning: Cannot modify header information - headers already sent by (output started at /www/monjeu/login.php:3) in /www/reignofdarkness/login.php on line 124


Voici comment j'ai agencé le chmilblik sur cette fameuse page Login.php :

J'ai ceci tout en haut de ma page, avant le HTML :

Code PHP :
<? 
session_start
();
mysql_connect("sql.olympe-network.com", "héhé", "haha");
mysql_select_db("tatata");
?>

Mon cade html est là, et puis de nouveau :

Code PHP :
<?

if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['mdp'])) {
extract($_POST);
$sql = "select mdp from membres where pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req); }
if(
$data['mdp'] != $mdp) {
echo
'<p>Mauvais identifiants, merci de r&eacute;essayer.</p>';
exit;
}
else {
session_start();
$_SESSION['pseudo'] = $pseudo;


echo
'Vous &ecirc;tes actuellement redirig&eacute; vers l\'accueil.';

header( "Location:game_connexion.php");
}
{
echo
'<p>Vous avez oubli&eacute; de remplir un champ.</p>';
header( "Location:index.php");
}
?>

Le problème est détecté aux lignes 120 et 124, qui sont les deux header :
header( "Location:game_connexion.php");
et
header( "Location:index.php");

J'ai lu le topic sur l'erreur "Headers already sent by" qui dit que tout code doit être inséré avant le html, mais même en changeant ça, ça ne va pas ...
Voilà où j'en suis ...
Pouvez-vous m'éclairer s'il-vous-plait ?

Merci d'avance,

Cédric


RE: Problème lors de ma connexion - combo - 23-09-2008

Ton header location doit être tout en haut de ta page. S'il y a du code html avant cela ne marchera pas.

EDIT : Grilled :p


RE: Problème lors de ma connexion - Ekilio - 23-09-2008

Je repost vu que j'avais mal lu le message, et la réponse suivant l'ex-mienne est nettement plus juste ^^

Donc en fait, vires juste les echo dans ton code et ça marchera, à l'exception de :

Code PHP :
<?php 
echo '<p>Mauvais identifiants, merci de r&eacute;essayer.</p>';

Et au passage, je reposte ce que je disais : les deux causes principales de l'erreur que tu disais si on ne voit pas d'echo sont des espaces ou des retours à la ligne en début de fichier, et un mauvais encodage (particulièrement l'UTF-8, suivant les serveurs il peut poser problème, pensez à encoder sans BOM éventuellement)


RE: Problème lors de ma connexion - Plume - 23-09-2008

Plop !

J'te conseille de t'orienter vers les fonctions [ob_*] pour gérer aisément ce genre de situation :]

@tchaOo°


RE: Problème lors de ma connexion - Ekilio - 23-09-2008

Les fonctions de bufferisation de sortie ne gère cependant pas les problèmes liés à un mauvais encodage :-p Et accessoirement, ici de toutes façons les echos sont inutiles puisque le navigateur va rediriger la personne immédiatement, ils ne seront donc pas lus de toutes manières.


RE: Problème lors de ma connexion - Klaad - 24-09-2008

Merci à tous pour vos réponses !

J'ai enlevé les echo mais j'ai toujours le même problème ...


Citation :Warning: Cannot modify header information - headers already sent by (output started at /www/monjeu/login.php:3) in /www/reignofdarkness/login.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /www/monjeu/login.php:3) in /www/reignofdarkness/login.php on line 26

Est-ce normal ?


RE: Problème lors de ma connexion - keke - 24-09-2008

Coucou,

Sur la page :
http://reignofdarkness.olympe-network.com/

Je vois qu'il y 'a au moins 3 espaces blanc : 1 en début de page, et 2 après les Warnings.
Code :
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /www/reignofdarkness/login.php:3) in <b>/www/reignofdarkness/login.php</b> on line <b>20</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /www/reignofdarkness/login.php:3) in <b>/www/reignofdarkness/login.php</b> on line <b>23</b><br />


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Je pense que tu dois avoir un "echo" qui fout la grouille ... ou que tout simplement l'accès à la BDD est planté et te renvoie un message nul. Tu aurais pas un die ('') qui trainerait ? Cela pourrait-il te mettre un message bout de code d'erreur ?

En tous les cas, le bug est fastidieux à trouver ... mais je pense que ce n'est qu'une erreur dans tes scripts.

kéké
PS : tu pourrais rajouter un lien vers jeuweb dans tes liens ! (ou vers mon jeu aussi ^^)


RE: Problème lors de ma connexion - Paul - 24-09-2008

Pas forcément un echo qui fout le bazar d'ailleurs, un simple saut de ligne en trop peut faire ça. Ca m'est arrivé une fois, j'avais un espace à la toute fin d'un fichier php que j'incluais avant la session, donc ca faisait ?> et l'espace après...

Ca vient forcément (99,9% des chances) d'un truc comme ça.


RE: Problème lors de ma connexion - keke - 24-09-2008

je plussoie Paul ^^

kéké (je dirais même plus ! 99,99%)


RE: Problème lors de ma connexion - Plume - 24-09-2008

Plop !

D'où l'intérêt de ne jamais fermer les fichiers PHP qui sont inclus.
Et la gestion des buffers permet très facilement de gérer ce genre de désagrément.

@tchaOo°