Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2064 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] probleme de redirection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] probleme de redirection

n°1699524
leod38
Posté le 09-03-2008 à 15:40:50  profilanswer
 

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
mood
Publicité
Posté le 09-03-2008 à 15:40:50  profilanswer
 

n°1699543
dwogsi
Défaillance cérébrale...
Posté le 09-03-2008 à 17:49:19  profilanswer
 

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})/
n°1699638
leflos5
On est ou on est pas :)
Posté le 09-03-2008 à 22:19:36  profilanswer
 

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?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] probleme de redirection

 

Sujets relatifs
Probléme de copie de tableau et d'affichage[PHP] fonction: probleme de debutant
problème wmode ou z-index avec firefoxProblème de connection Oracle depuis ASP
Erreur de code en PHPProblème d'accent avec Net::FTP
[PHP] Formulaire + transfert de données par post + codage de porc[?PHP,HTML,JAVA?] problème avec une redirection
Problème PHP / Redirection transparente[PHP] Problème de redirection
Plus de sujets relatifs à : [PHP] probleme de redirection


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR