Se connecter avec
S'enregistrer | Connectez-vous
Votre question

header capricieux

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
Partagez
24 Mai 2008 03:37:12

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

24 Mai 2008 15:18:18

Pareil ca fonctionne toujours pas...
Contenus similaires
24 Mai 2008 21:12:18

ç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 ?
25 Mai 2008 15:00:18

Oui le lien fonctionne...
25 Mai 2008 19:03:35

alors, je ne sais pas.
25 Mai 2008 21:20:24

:(  j'suis bien embêter...
25 Mai 2008 22:35:58

Il faut que le header soit mis avant tout envoi de données HTML au navigateur
25 Mai 2008 23:03:28

Aucune donneées html avant... c'est une page externe avec rien que du php
25 Mai 2008 23:22:09

Les echo, printf......génère du code HTML ;) 
25 Mai 2008 23:25:52

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...
25 Mai 2008 23:36:23

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?
26 Mai 2008 13:26:09

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() :( 
26 Mai 2008 17:05:33

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 
26 Mai 2008 20:16:14

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
27 Mai 2008 12:15:35

ou sinon tu passe par du java script :

  1. <?php
  2. print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"ma_page.php\");</script>");
  3. ?>


L'avantage est que tu le met où tu veux dans ta page.

Sujet traité en double on dirait : http://www.infos-du-net.com/forum/268448-21-remplacer-h...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS