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

fabrice11901 790 Messages postés dimanche 31 juillet 2005Date d'inscription 12 juillet 2007 Dernière intervention - 8 juin 2006 à 17:02 - Dernière réponse : jisisv 3662 Messages postés dimanche 18 mars 2001Date d'inscriptionContributeurStatut 15 janvier 2017 Dernière intervention
- 10 juin 2006 à 06:52
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
Afficher la suite 

5 réponses

0
Utile
Il ne faut pas envoyer un affichage quelqu'il soit avant l'utilisation d'un header()
fabrice11901 790 Messages postés dimanche 31 juillet 2005Date d'inscription 12 juillet 2007 Dernière intervention - 8 juin 2006 à 20:21
0
Utile
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?
smellems 135 Messages postés vendredi 28 avril 2006Date d'inscription 4 mai 2012 Dernière intervention - 8 juin 2006 à 20:59
0
Utile
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...
fabrice11901 790 Messages postés dimanche 31 juillet 2005Date d'inscription 12 juillet 2007 Dernière intervention - 8 juin 2006 à 21:15
0
Utile
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
jisisv 3662 Messages postés dimanche 18 mars 2001Date d'inscriptionContributeurStatut 15 janvier 2017 Dernière intervention - 10 juin 2006 à 06:52
0
Utile
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