Signaler

[php] une erreur qui n'y été pas chez un autr [Fermé]

Posez votre question fabrice11901 790Messages postés dimanche 31 juillet 2005Date d'inscription 12 juillet 2007 Dernière intervention - Dernière réponse le 10 juin 2006 à 06:52 par jisisv
Bonjour
J'ai eu de nombreux avec mon ancien ébergeur (hosteur.com) j'ai changer d'ébergeur mais mon script de connexion ne fonctionne plus du moins il affiche le message suivant :
Warning: Cannot modify header information - headers already sent by (output started at /home/zone/domains/zone-mobile.net/public_html/connexion.php:3) in
/home/zone/domains/zone-mobile.net/public_html/connexion.php on line 18

puis le code php :

<?session_start();?>

<? $_SESSION['pseudo']=$_POST['pseudo']; ?>
<? $pseudo=$_POST['pseudo']; $passe=$_POST['passe'];?>

<? $dbc = @mysql_connect ("localhost", "zone_zone", "*****");

if(!mysql_errno($dbc)) {
  mysql_select_db("zone_bdd");

$query = "
SELECT * FROM v2 WHERE
pseudo='$pseudo' AND
passe='$passe'";
$result = mysql_query($query);
if(mysql_num_rows($result)==0)
	{
header("Location:http://www.zone-mobile.net/form_erreur.php");  } else{ header("Location:http://www.zone-mobile.net/membre.php");} } mysql_close(); ?>

merci de votre aide car là j'avous je ne comprend rien et en plus le warning ne me dit pas grand chose à par peut-être le header (mais je ne sais pas si cela vient du header...)
merci
Fabrice
Utile
+0
plus moins
Il ne faut pas envoyer un affichage quelqu'il soit avant l'utilisation d'un header()
Utile
+0
plus moins
le header (ce fichier fonctionne si je ne met pas le header mais un echo) mais sur mon ancien hébergeur (minable pourtant !) ça m'étais pas ça et c'est exactement le même script !
est-ce que ça pourrai être la fonction header de php qui a un problème sur le serveur de mon hébergeur?
Utile
+0
plus moins
moi je suis d'accord avec Yvan pour dire que ton erreur semble dire que tu as envoyer de l'information avant ta commande header()...

ex.

<html>

<head>
...
</head>

<?php

header("Location:http://www.zone-mobile.net/form_erreur.php");

?>

<body>
...
</body>

</html>

ça vas faire un erreur mais par contre...

<?php

header("Location:http://www.zone-mobile.net/form_erreur.php");

?>

<html>

<head>
...
</head>

<body>
...
</body>

ne fera pas d'erreur parce que rien n'a été envoyer au client...

j'espère que je t'aide...
Utile
+0
plus moins
ben si tu regardes mon code dans mon premier poste, le header n'est qu'après puisque c'est le script php qui choisis le header qu'il doit prendre avec les infos de mysql mais je suis entrain de voir ça avec mon hébergeur, mon script est bon ils cherchent de leur côté...
si quelqu'un à des infos...
merci
Utile
+0
plus moins
C'est normal que tu aies ce message. Les lignes vides entre les contenus PHP sont envoyées par le serveur. Les entêtes HTTP sont déjà envoyées à ce moment.
Regroupe ton code PHP en un bloc <?php ...?>
Ne place pas de ligne blanche devant ce code.
N'envoye évidemment pas d'output avant les fonctions header de PHP.
Structure ton code de manière à dissocier les balises html et le code PHP
(les templates sont faits pour ça) Celà fait belle lurette que je ne mélange plus(sauf affreuse bidouille ), le code html et PHP dans un même fichier.
Au besoin utilise l'output buffering
http://php.easynet.be/manual/fr/ref.outcontrol.php

Johan

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !