Redirection non fonctionnelle

magaxe Messages postés 5 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 29 juin 2010 - 29 juin 2010 à 16:33
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 29 juin 2010 à 19:02
Je souhaite réalisé pour un site des blogs disponibles sur chaque page des membres ( un par utilisateur).

J'ai codé la partie administration, qui permettra aux utilisateurs de se logguer, mais si tout s'affiche correctement quand je m'y rend, la redirection vers la page d'ajout d'article ne fonctionne pas, et je ne sais pas du tout ou ça coince, puisqu'aucune erreur ne s'affiche.

Pourriez-vous m'aider s'il vous plait ?

Je vous mets le code, la partie html étant très basique, je compte faire quelque chose de plus jolie une fois que le php fonctionnnera


<?php ob_start(); ?>
<?php session_start(); ?>
<?php include ("header.php") ?>



<form method="post" name="users" action="">
Pseudo : 

Mot de passe : 


</form>



<?php
//connexion a la DB
$serveur = 'sql5.power-heberg.net';
$user = 'lecrisilenci2';
$pass = 'klebsiella72';
$bdd = 'lecrisilenci2';
$connect= mysql_connect($serveur ,$user ,$pass) or die('Une erreur a eu lieu lors de la connection mysql');
mysql_select_db($bdd ,$connect) or die ('Un erreur a eu lieu lors du choix de la base de données');



//definition des variables qu'on envoie sur la base de données
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])) ;
$password = mysql_real_escape_string(htmlspecialchars($_POST['password'])) ;
$passhash=sha1($password);


//verifier utilisateur présent dans la DB


if (isset($_POST['pseudo']) AND isset($_POST['password'])
    AND !empty($_POST['pseudo']) AND !empty($_POST['password']))
     {

   
                $sql = "SELECT * FROM `users` WHERE pseudo='$pseudo' AND passhash='$passhash' AND etat = 1";
                $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
                $data = mysql_fetch_array($req);
                if ( $data[0]==1)
                {
     


$_SESSION['pseudo'] = $_POST['pseudo'] ;


 $_SESSION['pseudo'] = $_POST['pseudo'] ;
header('Location: ecrirearticle2.php');




                } 
                else
                { 
                $erreur = 'pseudo ou mot de passe incorret'; 
                }


    }
    else   
    {
    $erreur = 'champ vide';
    }
?>

<?php include ("footer.php") ?>


<?php ob_end_flush(); ?>

5 réponses

cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
29 juin 2010 à 16:49
Bonjour

header('Location: ecrirearticle2.php');
l'utilisation de header doit se faire avant tout envoi de donnée vers le navigateur (source : ici)

bonne après midi
0
magaxe Messages postés 5 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 29 juin 2010
29 juin 2010 à 16:57
Il me sembalit pourtant que c'etait pour cela qu'on avait <?php ob_start(); ?> au tout debut du fichier et
<?php ob_end_flush(); ?> à la toute fin...

non ?
0
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
29 juin 2010 à 17:23
si tu enlèves ob_start() et on_end_flush, un message d'erreur te sera retourné lors de l'exécution du header(....)

si tu gardes ton code, tel quel, tente de remplacer le header('Location: ecrirearticle2.php');
par :
ob_end_clean();
header('Location: ecrirearticle2.php');
exit();
0
magaxe Messages postés 5 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 29 juin 2010
29 juin 2010 à 18:27
toujours aucune redirection ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
29 juin 2010 à 19:02
Salut,

Question con : es tu seulement certain d'entrer dans les conditions ?
Tu devrais mettre des echo un peu partout pour t'en assurer.

... par ailleurs tu ne sembles afficher nul part la variable $erreur (??)


Cordialement,



Kohntark -
0
Rejoignez-nous