IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

headers already sent


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut headers already sent
    Bonjour,

    Sur ma page connexion.php je fais une redirection qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    require('fonctionsphp.php');
    require('connect.php');
    $message = "";
    if (isset($_POST['utilisateur']))	$utilisateur = $_POST['utilisateur'];
    else $utilisateur ="";
    if (isset($_POST['password']))	$password = $_POST['password'];
    else $password ="";
    if (isset($_POST['bouton_connexion'])){
    	if ((!empty($_POST['utilisateur'])) || (!empty($_POST['password']))){
    		$passw= sha1($_POST['password']);
    		$sql = mysql_query("SELECT * FROM proprietaires WHERE user = '$utilisateur' AND pass = '$passw'");
    		if (mysql_num_rows($sql) > 0){
    			$res = mysql_fetch_array($sql);
    			$id_proprietaire = $res['id_proprietaire'];
    			$user_table = $res['user'];
    			$pass_table = $res['pass'];
    			$niveau = $res['niveau'];
    			$_SESSION['utilisateur'] = $user_table;
    			$_SESSION['id_proprietaire'] = $id_proprietaire;
    			$_SESSION['niveau'] = $niveau;
    			header('location:index.php?page=accueil');
    		}
    		else {
    			$message = "<p style='color:blue'>Nom utilisateur ou mot de passe non valide !</p>";
    		}
    	}
    }
    ?>
    <div style="margin-left:170px; margin-top:40px">
    <br />
    <form name="connexion" method="POST" action="index.php?page=connexion">
    <table border=0>
    	<tr>
    		<td align='right'>Nom utilisateur :&nbsp;</td><td><input type="text" name="utilisateur" value="<?php echo $utilisateur;?>"></td>
    	</tr>
    	<tr>
    		<td align='right'>Mot de passe :&nbsp;</td><td><input type="password" name="password" value="<?php echo $password;?>"></td>
    	</tr>
     
    	<tr height="35px" valign="bottom">
    		<td></td><td align="center"><input type="submit" name="bouton_connexion" value="valider" style="width:100px; height:20px; font-size:12px"></td>
    	</tr>
    </table>
    </form>
    <?php	echo $message;
    ?>
    </div>
    Je comprends pas pourquoi sur ma page dvd_selection.php ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    if (isset($_POST['valider'])){
    	if (($check == $dvd_s) && ($check==$dvd_c)){
    		echo "La version standard et collector du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_c){
    		echo "La version collector du dvd existe déjà.<br />";
    	}
    	else if (($check<>$dvd_s) && ($check<>$dvd_c)){
    		header('location:index.php?page=add_dvd');
    	}
    }
    ?>
    <form name='select_dvd' method='POST' action='index.php?page=select_add_dvd'>
    <table border="1" style="margin-left:35px" cellpadding = 0 cellspacing= 0>
    	<colgroup width = "30px"></colgroup>
    	<colgroup width = "400px"></colgroup>
    	<colgroup width = "50px"></colgroup>
    	<colgroup width = "50px"></colgroup>
    	<colgroup width = "50px"></colgroup>
    	<tr bgcolor="gold" height="20px">
    		<td align="center">Ajout</td>
    		<td align="center">Titre</td>
    		<td align="center">standard</td>
    		<td align="center">Collector</td>
    		<td align="center">Autres</td>
    	</tr>
    <?php
    $sql = mysql_query("SELECT id_film, titre FROM films ORDER BY titre");
    $nb = mysql_num_rows($sql);
    $sqldvd = mysql_query("SELECT id_dvd, id_film, edition FROM films_dvd");
    $nbl = mysql_num_rows($sqldvd);
    	for ($a = 0; $a < $nb; $a++){
    		$id_film = mysql_result($sql,$a,"id_film");
    		$titre = mysql_result($sql,$a,"titre");
       		if ($a % 2) { 
          			$couleur = '#F0F8FF'; 
       		} else { 
          			$couleur = 'white'; 
       		} 
    		?><tr style="background-color:<?php echo $couleur;?>">
    			<td align='center'><input type="radio" name="check[]" value="<?php echo $id_film;?>" <?php if (est_selectionne_check("$id_film")) { echo 'checked'; } else if (is_array($check)){ if (in_array("$id_film",$check)) { echo 'checked'; }} ?>></td>
    		<?php
    		echo "<td>&nbsp;$titre</td>";
    		for ($b = 0; $b < $nbl; $b++){
    			$id_dvd = mysql_result($sqldvd,$b,"id_dvd");
    			$id_film_dvd = mysql_result($sqldvd,$b,"id_film");
    			$edition = mysql_result($sqldvd,$b,"edition");
    			if ($id_film_dvd == $id_film){
    				if ($edition == 'standard'){
    					echo "<td><input type='checkbox' name='dvd_s[]' value='$id_film' checked='checked'></td>";
    				}
    				else if ($edition == 'collector'){
    					echo "<td><input type='checkbox' name='dvd_c[]' value='$id_film' checked='checked'></td>";
    				}
    			}
    			else {
    				echo "<td><input type='checkbox' name='dvd[]' value=''></td>";
    			}
    		}
    		echo "</tr>";
    	}
    echo "<td align='center' colspan=4><input type='submit' name='valider' value='valider'></td></tr></table></form>";
    ?>
    Est ce que quelqu'un peut me dire la redirection avec ma page dvd_selection ne se fait pas ?
    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Par défaut
    Bonjour,

    Tu n'a pas du code en plus dans tes fichiers includes dans connexion.php?

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    S'il n'y a pas de message d'erreur, j'aurais tendance à dire que tu ne rentre pas dans le test.

    Pour le voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (isset($_POST['valider'])){
    	if (($check == $dvd_s) && ($check==$dvd_c)){
    		echo "La version standard et collector du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_c){
    		echo "La version collector du dvd existe déjà.<br />";
    	}
    	else if (($check<>$dvd_s) && ($check<>$dvd_c)){
    		header('location:index.php?page=add_dvd');
    	}
            else
                echo "<h1>Mais qu'est-ce que je fais là ?!</h1>";
    }
    ?>

  4. #4
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    J'entre bien dans le test car si pour le même film j'ai une version standard et/ou une version collector ou les 2 , le message s'affiche.

    J'ai ajouter un test, ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (isset($_POST['valider'])){
    	if (($check == $dvd_s) && ($check==$dvd_c)){
    		echo "La version standard et collector du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_s){
    		echo "La version standard du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_c){
    		echo "La version collector du dvd existe déjà.<br />";
    	}
    	else if (($check<>$dvd_s) && ($check<>$dvd_c)){
    		header('location:index.php?page=add_dvd');
    	}
    	else { 
    		echo "<h1>Mais qu'est-ce que je fais là ?!</h1>";
    	}
    }
    j'ai toujours le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at .....)

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    un petit tour la ?
    http://php.developpez.com/faq/index....s_already_sent

    Vérifies que tu n'as rien envoyé au client avant ton "if (isset($_POST['valider']))".

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par jml94 Voir le message
    S'il n'y a pas de message d'erreur, (...)
    Pour recevoir des conseils efficaces, il est préférable de préciser s'il y a erreur ou non.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Citation Envoyé par jml94 Voir le message
    Pour recevoir des conseils efficaces, il est préférable de préciser s'il y a erreur ou non.
    C'est vrai que je l'avais pas donné dans mon premier post, mais je l'ai fait après.

    C'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at C:\Weblocal\Sites\mediatheque\index.php:100) in C:\Weblocal\Sites\mediatheque\dvd\dvd_selection.php on line 37
    Le code du début de ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    function est_selectionne_check($option) {
     	return (isset($_POST['check']) && in_array($option, $_POST['check']));
    }
    if (isset($_POST['check']))	$check = $_POST['check'];
    else $check = "";
    if (isset($_POST['check'])){
        for ($i = 0, $c = count($_POST['check']); $i < $c; $i++) {
            $check = "" . $_POST['check'][$i] . "";
        }
    }
    if (isset($_POST['dvd_s']))	$dvd_s = $_POST['dvd_s'];
    else $dvd_s = "";
    if (isset($_POST['dvd_s'])){
        for ($i = 0, $c = count($_POST['dvd_s']); $i < $c; $i++) {
            $dvd_s = "" . $_POST['dvd_s'][$i] . "";
        }
    }
    if (isset($_POST['dvd_c']))	$dvd_c = $_POST['dvd_c'];
    else $dvd_c = "";
    if (isset($_POST['dvd_c'])){
        for ($i = 0, $c = count($_POST['dvd_c']); $i < $c; $i++) {
            $dvd_c = "" . $_POST['dvd_c'][$i] . "";
        }
    }
    if (isset($_POST['valider'])){
    	if (($check == $dvd_s) && ($check==$dvd_c)){
    		echo "La version standard et collector du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_s){
    		echo "La version standard du dvd existe déjà.<br />";
    	}
    	else if ($check == $dvd_c){
    		echo "La version collector du dvd existe déjà.<br />";
    	}
    	else if (($check<>$dvd_s) && ($check<>$dvd_c)){
    		header('location:index.php?page=add_dvd');
    	}
    	else { 
    		echo "<h1>Mais qu'est-ce que je fais là ?!</h1>";
    	}
    }
    J'ai regardé la faq et je vois pas où est mon problème

  8. #8
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Ton problème est dans le fichier C:\Weblocal\Sites\mediatheque\index.php à la ligne 100...

    Peux-tu nous montrer cette partie de code ?

  9. #9
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Comme je suis un peu dubitatif devant la ligne 100
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="Sous menu 4.2">Sous menu 4.2</a></li>
    Comme le site est en construction elle n'est pas encore utilisée.

    Pour être plus complet je joins le fichier index.php
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [PHP-JS] problème headers already sent
    Par charlene44 dans le forum Langage
    Réponses: 12
    Dernier message: 14/06/2006, 13h55
  2. Réponses: 11
    Dernier message: 11/05/2006, 11h16
  3. [Cookies] cookies et 'headers already sent'
    Par wellser dans le forum Langage
    Réponses: 5
    Dernier message: 26/04/2006, 13h37
  4. [Cookies] Warning : headers already sent
    Par arti2004 dans le forum Langage
    Réponses: 8
    Dernier message: 04/04/2006, 16h31
  5. [JpGraph] Header already sent
    Par grunk dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/02/2006, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo