Se connecter avec
S'enregistrer | Connectez-vous

header capricieux

Dernière réponse : dans Programmation
Partagez

Bonjour,

J'ai un petit problème de redirection après une insertion en bdd, voici le code:

  1. ...
  2. if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",$mail)) {
  3.  
  4. header('Location: erreur.php?erreur=EmailInvalid');
  5. }
  6. else {
  7.  
  8. $pseudo_sql = addslashes($pseudo);
  9. $pass_sql = addslashes($pass);
  10. $pass_md5 = md5($pass_sql);
  11. $mail_sql = addslashes($mail);
  12.  
  13. require ('config.php');
  14. mysql_connect ("$host", "$bdd", "$pass");
  15. mysql_select_db ("$bdd");
  16.  
  17. $req = mysql_query ("INSERT INTO pigeon_user VALUES ('', '".$pseudo_sql."', '".$pass_md5."', '".$mail_sql."', '".time()."')");
  18.  
  19. header('Location: index.php?action=RedirectRegister');


Je vous ai mis le petit bout de code de vérif d'email, parce que le header fonctionne si l'email est invalide mais par contre, pour l'inscription dans la bdd, tout s'inscris mais la redirection ne se fais pas... et je n'ai aucune erreur php.

Merci de m'aider!

Autres pages sur : header capricieux

ça devrait :) 
Tu es sûr que ton lien est bon ? Quand tu prends le lien et que tu le mets dans un explorateur internet, ça fonctionne bien ?
Contenus similaires

Je n'ai fais aucun echo, je viens d'essayer de mettre le header avant la requete d'inscription a la bdd et il me redirige bien, bon le truc c'est que rien ne s'inscrit vu que la redirection se fais avant...

Il n'a plus fonctionner a partir du moment ou je l'ai mis après la connexion à la bdd...

Ok le problème viens du fichier config.php...

Pourtant il n'y a rien de spécial:

<?php

$host = 'localhost';
$bdd = 'mabdd';
$pass = 'monpass';

?>

Il est ou le problème?

J'ai un ami qui a eu le même problème et je dois t'avouer qu'après avoir chercher un bon moment , je n'ai rien trouvé :/ 

Php est très capricieux concernant l'utilisation de la méthode header() :( 

J'ai trouver la solution, c'est un peu bizzare mais ca fonctionne...

Dans le fichier config.php j'ai enlever le fermeture du php "?>"
Et maintenant ca fonctionne!! :p 

Est-ce que par hasard, tu n'enverrais pas de données au client avant l'appel de header ?

L'appel à header doit se faire avant tout envoi de contenu HTML au client (sinon ça n'a pas de sens en HTTP).
Si l'on ne peut pas faire autrement, il faut tout bufferiser, pour n'envoyer les données HTML qu'après changement de header (avec ob_start et ob_end_flush).
Un exemple: http://www.un-programmeur-php.ca/articles/header.php
Posez votre question
Tom's guide dans le monde
  • Allemagne
  • France
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter