header

header - PHP - Programmation

Marsh Posté le 07-05-2005 à 16:15:14    

salut,
 
 
j ai fait un formulaire avec un header dessus pour lorsque la personne se trompe bin sa la ramene sur la page d avant.
Le truc c est que sa ne fonctionne pas
 
[code]
 
<?php  
header("Location:inscription.php" );  
// On commence par récupérer les champs  
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
 
if(isset($_POST['psw'])) $psw=$_POST['psw'];
else $psw="";
 
// On vérifie si les champs sont vides  
if(empty($nom) OR empty($psw))  
{  
echo '<font color="red">Attention, vous devez remplir<b>ICQ</b> tout les champs!</font>';  
}  
 
// Aucun champ n'est vide, on peut enregistrer dans la table  
else  
{  
// connexion à la base
include("connexion.inc.php" );
// sélection de la base  
 
$sql1="select identifiant from connexion where identifiant= '$nom' ";
 
// on écrit la requête sql  
//$sql = "INSERT INTO connexion(identifiant, password) VALUES('$nom','$psw')";  
 
$result=pg_query($sql1);
$nb=pg_num_rows($result);
if($nb!=0){
echo '<b>Cet identifiant existe deja veuillez en saisir un nouveau</b>';
 
}else{
$sql = "INSERT INTO connexion(identifiant, password) VALUES('$nom','$psw')";  
pg_query($sql) or die('Erreur SQL !'.$sql.'<br>');  
echo 'Vos infos on été ajoutées.';  
}
// on insère les informations du formulaire dans la table  
//pg_query($sql) or die('Erreur SQL !'.$sql.'<br>');  
 
// on affiche le résultat pour le visiteur  
//echo 'Vos infos on été ajoutées.';  
 
 
}  
?>  
[code]
 
j ai ce message d erreur alors qu avant de mettre le header sa fonctionnait parfaitement.

Citation :


 
Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\franky\bureau\avion\validation.php:3) in c:\documents and settings\franky\bureau\avion\validation.php on line 4
Cet identifiant existe deja veuillez en saisir un nouveau  


 
Si vous pouviez m aider  
merci d avance

Reply

Marsh Posté le 07-05-2005 à 16:15:14   

Reply

Marsh Posté le 07-05-2005 à 16:16:30    

normal, tu affiches des données


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 07-05-2005 à 16:17:55    

bon deja tu a oublier le / dans ton 2ème [/code]
 
et ensuite :
 
[:google]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-05-2005 à 16:32:04    

scull je pige pas trop

Reply

Marsh Posté le 07-05-2005 à 17:12:42    

tu peu pas afficher un message est mettre ton header aprés.  
Il faut mettre que le header seulement, pas de texte...
 
Il doit pas y avoir un pixel de html avant le header


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 07-05-2005 à 18:15:04    

je suis debutant la dessus tu pourrai me faire un exemple stoplai

Reply

Marsh Posté le 07-05-2005 à 18:29:32    

www.php.net , dans le champ de recherche tu mets header, et tu lis la doc, c'est plein d'exemples et d'explications


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-05-2005 à 18:33:00    

ok merci je vais voir

Reply

Marsh Posté le 07-05-2005 à 18:53:27    

un exemple ? !
if($i) {
echo'<html>';
}
header(xxxxxxxxx);
 
Sa en haut sa marche poa !!!
 
sa marche sa :
header(xxxxxxx);


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 09-05-2005 à 10:04:25    

pis les header c assez capricieux, une fois jme suis pris la tête avec un header juste parce qu'à la toute fin du code, après ma balise php, j'avais une ligne vide. Vérifie, on sait jamais

Reply

Marsh Posté le 09-05-2005 à 10:04:25   

Reply

Marsh Posté le 09-05-2005 à 10:25:29    

arretez de lui dire qu'il est mauvais ou quoi . On remarque que son header est la premiere instruction , donc il n'y a aucune sortie avant. Il est probable que l'erreur soit celle de bis2kt, cad une ligne avant ton  <?php ou une ligne apres ton ?>
 
on voit en plus , dans l'erreur , que l'output est commencé 1 ligne au dessus du header, donc a la ligne de <?php ce qui tend a croire donc que c'est une erreur de ligne vide avant le <?php
 
 
voila :)

Reply

Marsh Posté le 09-05-2005 à 11:17:24    

Et aussi, on met jamais de :

header("Location:inscription.php" );


Faut toujour mettre l'adresse en absolu :

header('Location: http://pouet.fr/truc/inscription.php');

Reply

Marsh Posté le 10-05-2005 à 14:35:44    

pourquoi cela ? sa marche trés bien chez moi avec le premier exemple....


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 10-05-2005 à 14:42:57    

C'est comme l'HTML : c'est pas parce que ça marche que c'est valide ;) C'est indiqué dans le manuel php :

Citation :

Note:  HTTP/1.1 requires an absolute URI as argument to Location:  including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF']  and dirname() to make an absolute URI from a relative one yourself:

Reply

Sujets relatifs:

Leave a Replay

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