[PHP] probleme de redirection

probleme de redirection [PHP] - PHP - Programmation

Marsh Posté le 09-03-2008 à 15:40:50    

Bonjour a tous !
 
alors voici mon problème qui à sans doute été abordé mainte fois , j'ai essayé de chercher sur la toile des heures que je cherche en vain !
pas mal de solutions proposé j'ai essayé rien à faire
je compte donc sur les génies ici présent ^^
 
j'ai pour mon site une page de logue classique , une fois logué mon script enregistre la session puis redirige
mais erreur suivante :
 
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/7/4/deal.cash/index.php:36) in /mnt/140/sdb/7/4/deal.cash/logue.php on line 39
 
je sais qu'il ne faut pas envoyer de print echo ... avant appel du header , et je pense que le probleme viens de la création de session avant
mais je ne vois pas comment eviter cela et c'est donc ici que vous intervenez j'espere
 
voici le code en question :
<code>
<?php
session_start();
$erreur=0;
if (isset($HTTP_POST_VARS['go']))
{
$mdp=md5($HTTP_POST_VARS['mdp']);
$pseudo=$HTTP_POST_VARS['pseudo'];
if(!mysql_connect('*****','*****','*****')){exit();}  
        else{Mysql_select_db('*****');}
$demande = mysql_query("SELECT * FROM utilisateur where pseudo='$pseudo' " );
if($donnees = mysql_fetch_array($demande))
        {
        if(($mdp==($donnees['mdp']))&&(($donnees['actif'])=='1'))
                                                {
                                                session_register("authentification" );
                                                $_SESSION['imageu']=$donnees['image'];
                                                $_SESSION['idu']=$donnees['id'];
                                                $_SESSION['typeu']=$donnees['type'];
                                                $_SESSION['pseudou']=$donnees['pseudo'];
                                                $_SESSION['nomu']=$donnees['nom'];
                                                $_SESSION['prenomu']=$donnees['prenom'];
                                                $_SESSION['adresseu']=$donnees['adresse'];
                                                $_SESSION['codepostalu']=$donnees['codepostal'];
                                                $_SESSION['villeu']=$donnees['ville'];
                                                $_SESSION['numtelu']=$donnees['numtel'];
                                                $_SESSION['nbannonceutiliseu']=$donnees['nbannonceutilise'];
                                                $_SESSION['nbannoncetotalu']=$donnees['nbannoncetotal'];
                                                $_SESSION['evanegu']=$donnees['evaneg'];
                                                $_SESSION['evaposu']=$donnees['evapos'];
                                                $_SESSION['sommeu']=$donnees['somme'];
                                                $_SESSION['evaluationu']=$donnees['evaluation'];
                                                $idn2=$_SESSION['idu'];
                                                unset($_SESSION['invite']);
                                                $_SESSION['invite']='non';
                                                unset($_SESSION['visiteacheter']);
                                                unset($_SESSION['visitesuivis']);
                                                $requetes2=mysql_query("DELETE FROM article where idutilisateur='$idn2' and actif='0'" );
                                                mysql_close();
                                                header("Location: ******?adresse=intro.php" );
                                                exit;
                                                }
        elseif(($mdp==($donnees['mdp']))&&(($donnees['actif'])=='0')){$erreur=2;session_unset("authentification" );mysql_close();}
        else{$erreur=1;session_unset("authentification" );mysql_close();}
        }
else{$erreur=1;session_unset("authentification" );mysql_close();}
}
else
{
$mdp = "";
$pseudo = "";
}
if($erreur==1){$erreur="Erreur de saisie";}
elseif($erreur==2){$erreur="Compte inactif, Consulter votre email";}
else{$erreur="";}
$mdp = "";
$pseudo = "";
?>
<html>
<head>
<style>
.logue
{
        position:relative;
        width:400px;
        height:270px;
        overflow:hidden;
        border:2px solid blue;
        margin-left: 156px;
        margin-top: 83px;
}
</style>
</head>
<body style="height: 100%;margin: 0;">
<center>
<div class="logue">
<form method="post">
<br>
<center><b><font color="red" ><?php echo $erreur ; ?></font></b></center>
<br>
<center><b>Pseudo DealCash: </b><input type=text name=pseudo value="<?php echo $pseudo ; ?>" size="20"></center><BR>
<center><b>Mot de passe : </b><input type=password name=mdp value="<?php echo $mdp ; ?>" size="20"></center><BR>
<center><input type=submit name=go value=connexion></center>
<p><a href="nouveaumdp.php">Vous avez oublié votre mot de passe ?</a></p>
<p><a href="inscriptionfinal.php">Pas encore inscrit ? faites le c'est gratuit !</a></p>
</form>
</div>
</center>
</body>
</html>
</code>
 
merci d'avance pour vos réponses


Message édité par leod38 le 09-03-2008 à 15:47:41
Reply

Marsh Posté le 09-03-2008 à 15:40:50   

Reply

Marsh Posté le 09-03-2008 à 17:49:19    

Bienvenue dans le passé ($HTTP_POST_VARS['pseudo']).
Place à l'injection de SQL...
Quelques truc à revoir me semble-t-il!
 
Pour ton problème, session_start() ne pose à priori aucun problème utilisée avant header(). Donc le problème ne vient certainement pas de là.
 
Peut être un espace en début de script, ou encore un BOM UTF-8?
cf. Topic épinglé sur php


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 09-03-2008 à 22:19:36    

Citation :

Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/7/4/deal.cash/index.php:36) in /mnt/140/sdb/7/4/deal.cash/logue.php on line 39


Quid est?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed