Mon code PHP a une erreur, mais pas de message d'erreur

Résolu
Truncky Messages postés 13 Statut Membre -  
Truncky Messages postés 13 Statut Membre -
Bonjour,
J'ai fini un des mes script, il marchait hier, et aujourd'hui, j'ai voulu changer des choses, l'optimiser, mais il y a une erreur dans le code, et la page est toute blanche, sans message d'erreur.

Voici le code PHP en question:

<?php

include('base.php');
include('tete.php');

?>



<?php



if(!isset($_SESSION['m']['pseudo']))
{
  avert('<b>Vous n\'êtes pas connecté.</b>');
  include('pied.php');
  exit;
}





		$reponse = mysql_unbuffered_query('SELECT * FROM journal WHERE id=' . $_GET['id']);
		$donnees = mysql_fetch_assoc($reponse);

		$reponse4 = mysql_unbuffered_query('SELECT * FROM journalsuivre WHERE idpseudo=' . $_SESSION['m']['id']);
		


						



		$reponse2 = mysql_unbuffered_query('SELECT * FROM msgjournal WHERE idjournal=' . $_GET['id']);



				if(isset($_GET['id']))
				{

						echo' <div class="bloc1"><h3>Journal de <b> ' . $donnees['pseudo'] . ' </b> : <b> ' . htmlspecialchars(utf8_decode($donnees['nom'])) . ' </b> </h3>
      						<div class="texte"><form method="post" action="journal.php?id=' . $_GET['id'] . '&suivre=' . $_GET['id'] . '"><input type="submit" value="S\'abonner" /></form>   Publications:<br><br>
      						';


				while($donnees2 = mysql_fetch_assoc($reponse2))

				{

				if($_GET['id'] == $donnees2['id'])
				{
				 		echo'
						<div class="citationaa"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . '  </h2></center></b><br>';

						$timestamp = $donnees2['date'];
						
						// Tableau des mois en français
						$mois_fr = array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
						
						// Tableau de la date
						// $jour_modif = array('', '1er', 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);
						
						// On extrait la date du jour
						list($jour, $mois, $annee) = explode('/', date('d/n/Y', $timestamp));
						echo  $jour . '  ' . $mois_fr[$mois] . ' ' . $annee; 
						echo ' à ';
						echo date('H\:i\:s', $timestamp); 

						echo' <br></div>
						';
				}
				else
				{
				 		echo'
						<div class="citation"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . ' </h2></center></b><br>
						';

						$timestamp = $donnees2['date'];
						
						// Tableau des mois en français
						$mois_fr = array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
						
						// Tableau de la date
						// $jour_modif = array('', '1er', 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);
						
						// On extrait la date du jour
						list($jour, $mois, $annee) = explode('/', date('d/n/Y', $timestamp));
						echo  $jour . '  ' . $mois_fr[$mois] . ' ' . $annee; 
						echo ' à ';
						echo date('H\:i\:s', $timestamp); 

						echo' <br></div>
						';
                                }
				}


						

						

						

				

						echo' 

						</div></div><br>
						<form method="post" action="journal.php?id=' . $_GET['id'] . '"> 
						<div class="bloc1"><h3>Nouvelle publication</h3>
						<div class="texte">* Message: <textarea name="message" style="border-radius: 5px;max-width: 670px; width: 670px; outline: 0 none;background-image: url(\'http://image.noelshack.com/fichiers/2013/12/1364038032-fontexte.png\'); repeat: none;border: 1px solid #848484;" id="message" rows="15" cols="82"></textarea>
 						<br>   
						<center><input type="submit" value="Publier" /></center>
 						<br>
						</div></div>


						';



				if(isset($_GET['suivre']))
				{
                                if($_GET['suivre'] == $donnees['id'])
                                {

                                   
                                  $pseud = $_SESSION['m']['pseudo'];
                                  $idpseud = $_SESSION['m']['id'];
                                  $asuivre = $_GET['suivre'];
                                  $nomsuivre = $donnees['nom'];
                                  $pseudsuivre = $donnees['pseudo'];
                                  mysql_query("INSERT INTO journalsuivre VALUES('" . $pseud . "', '" . $idpseud . "', '" . $asuivre . "', '" . $nomsuivre . "', '" . $pseudsuivre . "' )");
				}else{ avert('Erreur'); }
                                }

                                if($_POST['message'])
				{

				if($_POST['message'])
				{

	$id = $_SESSION['m']['id'];
        $idjournal = $_GET['id'];
	$pseudo = $_SESSION['m']['pseudo'];
	$message = text_i(secure($_POST['message']));
	header('Location: journal.php'); 

	mysql_query("INSERT INTO msgjournal VALUES('" . $id . "', '" . $pseudo . "', '" . $message . "', '" . time() . "', '" . $idjournal . "' )");



						echo' Publie ! <meta http-equiv="refresh" content="0;URL=journal.php?id=' . $_GET['id'] . '"> ';

				}
				else{

						echo' <br> ';
						avert('Votre publication est vide.');

				}
				}

				}
				else
				{


			$reponse = mysql_query('SELECT COUNT(*) FROM journal WHERE id REGEXP "^' . $_SESSION['m']['id'] .'$"');
			$result = mysql_result($reponse, 0);
			
			if($result == 0)
			{


if($_GET['etape'] == 1)
		{

//securisation

$pseudo = secure($_SESSION['m']['pseudo']);
$nom = text_i(secure($_POST['nom'])));
$id = secure($_SESSION['m']['id']);
$coms = '0';
$msg = '';
$date = '0';

if(!empty($nom))
{

if(preg_match("#^[a-zA-Z0-9\[\]\s_-z' -à]{5,100}$#", $_POST['nom'])) // Si le pseudo respecte les conditions
				{

mysql_query("INSERT INTO journal VALUES('" . $id . "', '" . $pseudo . "', '" . $nom . "', '" . $coms . "', '" . $msg . "', '" . $date . "')");

echo' 

			<div class="bloc1">
			<h3>Journal OK</h3>
			<div class="texte">
			Ton journal a ete creer !
			Nom: ' . $nom . '
			</div>
			</div>

';

}
else
{

avert('Vous n\'avez pas entrer de nom');

}

}
else
{

avert('Le nom ne respecte pas les conditions. 5 a 100 Caracteres.');

}


}
else
{


//La page principale


echo' 

<div class="bloc1">
<h3>Creation d\'un journal</h3>
<div class="texte">
                        <form method="post" action="journal.php?etape=1"> 
                        <div class="saisie"><label for="pseudo"><font color="red">* Votre pseudo</font> :</label> <input readonly type="text" name="pseudo" id="pseudo" value="' . $_SESSION['m']['pseudo'] . '"/></div><br/>
			<div class="saisie"><label for="passe"><font color="red">* Nom de votre journal</font> :</label> <input id="nom" "type="text" name="nom" /></div><br />
			
                        
			<center><input type="submit" value="Creation du journal" />


</div>
</div>

';

}
}
else{

echo' <div class="bloc1"><h3>Accedez a votre journal</h3>
      <div class="texte"><center><a href="journal.php?id=' . $_SESSION['m']['id'] . '"> Votre journal </a><br>

      </div></div> 

';

}
}

include('pied.php');


?>



Des fois, les code que je met ne s'executent pas a cause d'erreurs bidons, genre oublie de ; à la fin d'un ligne $aaaa = $bbbb; ou même des apostrophes dans du html sans mettre de \ avant etc.
La j'ai chercher, et il ne doit pas y avoir d'rreur de ce genre...

Si quelqu'un pourrait m'aider, Merci ! :)

3 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    Salut, tu mets:
    if(!isset($_SESSION['m']['pseudo']))

    et ou est ton session_start() ??

    il faut:

    <?php
    session_start();
    if(!isset($_SESSION['m']['pseudo']))
    .....
    
    0
    1. Truncky Messages postés 13 Statut Membre
       
      Je vais essayer, mais cette partie du script marchait très bien hier, et je ne l'ai pas modifiée aujourd'hui.
      0
    2. Truncky Messages postés 13 Statut Membre
       
      Le session_start(); est déjà dans le fichier base.php
      0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    ok,

    mais mysql_unbuffered est dépréciée en php5.5 en plus ton code est un peu bizare tu utilises $_GET['id'] puis plus bas tu testes si il est isset, ce n'est pas très logique

    $reponse = mysql_unbuffered_query('SELECT * FROM journal WHERE id=' . $_GET['id']);
    $donnees = mysql_fetch_assoc($reponse);

    $reponse4 = mysql_unbuffered_query('SELECT * FROM journalsuivre WHERE idpseudo=' . $_SESSION['m']['id']);
    $reponse2 = mysql_unbuffered_query('SELECT * FROM msgjournal WHERE idjournal=' . $_GET['id']);

    if(isset($_GET['id']))
    {
    echo' <div class="bloc1"><h3>Journal de <b> ' . $donnees['pseudo'] . ' </b> : <b> ' . htmlspecialchars(utf8_decode($donnees['nom'])) . ' </b> </h3>
    <div class="texte


    il vaudrait mieux:
    <?php
    include('base.php');
    include('tete.php');
    
    if(!isset($_SESSION['m']['pseudo']))
    {
      avert('<b>Vous n\'êtes pas connecté.</b>');
      include('pied.php');
      exit;
    }
    
    //init parametres:
    //il vaut mieux le mettre la, car dans la boucle ça va les charger à chaque passage !
    // Tableau des mois en français
    $mois_fr = array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
    						
    // Tableau de la date
    // $jour_modif = array('', '1er', 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);
    
    //fonction php:
    function affichage_date($timestamp){
    	// On extrait la date du jour
    	list($jour, $mois, $annee) = explode('/', date('d/n/Y', $timestamp));
    	$date_aff=  $jour . '  ' . $mois_fr[$mois] . ' ' . $annee; 
    	$date_aff.= ' à ';
    	$date_aff.= date('H\:i\:s',$timestamp); 
    	$date_aff.=' <br></div>';
    	
    	return $date_aff;
    }
    
    //
    	$reponse4 = mysql_unbuffered_query('SELECT * FROM journalsuivre WHERE idpseudo=' . $_SESSION['m']['id']);
    if(isset($_GET['id']))
    {
    	//on fait la requette que si on a $_GET['id']
    	$reponse = mysql_query('SELECT * FROM journal WHERE id=' . $_GET['id']);
    	$donnees = mysql_fetch_assoc($reponse);
    					
    					
    	echo' <div class="bloc1"><h3>Journal de <b> ' . $donnees['pseudo'] . ' </b> : <b> ' . htmlspecialchars(utf8_decode($donnees['nom'])) . ' </b> </h3>
          	<div class="texte"><form method="post" action="journal.php?id=' . $_GET['id'] . '&suivre=' . $_GET['id'] . '"><input type="submit" value="S\'abonner" /></form>   Publications:<br><br>';
          						
    	$reponse2 = mysql_query('SELECT * FROM msgjournal WHERE idjournal=' . $_GET['id']);
    
    	while($donnees2 = mysql_fetch_assoc($reponse2))
    	{
    		
    		$timestamp = $donnees2['date'];
    			
    		if($_GET['id'] == $donnees2['id'])
    		{
    			echo'<div class="citationaa"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . '  </h2></center></b><br>';
    			//pour afficher la date,tu fais exactement les m^mes calculs dans les deux cas on peut donc simplifier par une fonction
    			
    						
    		}
    		else
    		{
    			echo'<div class="citation"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . ' </h2></center></b><br>';
    			echo affichage_date($donnees2['date']);
            }
    	}
    
    	//le saut de ligne c'est <br /> et pas <br>
    	//revoit tes <div></div>
    	echo '</div></div><br />
    		<form method="post" action="journal.php?id='. $_GET['id'].'"> 
    		<div class="bloc1"><h3>Nouvelle publication</h3>
    		<div class="texte">* Message: <textarea name="message" style="border-radius: 5px;max-width: 670px; width: 670px; outline: 0 none;background-image: url(\'http://image.noelshack.com/fichiers/2013/12/1364038032-fontexte.png\'); repeat: none;border: 1px solid #848484;" id="message" rows="15" cols="82"></textarea>
     		<br />   
    		<center><input type="submit" value="Publier" /></center>
     		<br />
    		</div></div>';
    
    if(isset($_GET['suivre']))
    {
         //je suppose que en même temps que GET['suivre'] tu as aussi     $_GET['id']                  
    						   if($_GET['suivre'] == $donnees['id'])
                                    {
    ..........etc....
    


    de plus tu mets

    header('Location: journal.php');

    hors avant cela tu as plein de code html affiché dans ta page avec les echo, ça ne marche pas il ne doit rien y avoir avant le header
    0
    1. Truncky Messages postés 13 Statut Membre
       
      J'ai bien remplacer ton code donné à l'endroit ou il faut, çà ne fonctionne toujours pas :(
      je comprend pas, hier ça marchait impeccable, et aujourd'hui, j'ai changer 1 truc a peine vers le haut, BAM plus rien...

      Voici ce que ça donne avec ton code:

      
      <?php
      include('base.php');
      include('tete.php');
      
      if(!isset($_SESSION['m']['pseudo']))
      {
        avert('<b>Vous n\'êtes pas connecté.</b>');
        include('pied.php');
        exit;
      }
      
      //init parametres:
      //il vaut mieux le mettre la, car dans la boucle ça va les charger à chaque passage !
      // Tableau des mois en français
      $mois_fr = array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
      						
      // Tableau de la date
      // $jour_modif = array('', '1er', 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);
      
      //fonction php:
      function affichage_date($timestamp){
      	// On extrait la date du jour
      	list($jour, $mois, $annee) = explode('/', date('d/n/Y', $timestamp));
      	$date_aff=  $jour . '  ' . $mois_fr[$mois] . ' ' . $annee; 
      	$date_aff.= ' à ';
      	$date_aff.= date('H\:i\:s',$timestamp); 
      	$date_aff.=' <br></div>';
      	
      	return $date_aff;
      }
      
      //
      	$reponse4 = mysql_unbuffered_query('SELECT * FROM journalsuivre WHERE idpseudo=' . $_SESSION['m']['id']);
      if(isset($_GET['id']))
      {
      	//on fait la requette que si on a $_GET['id']
      	$reponse = mysql_query('SELECT * FROM journal WHERE id=' . $_GET['id']);
      	$donnees = mysql_fetch_assoc($reponse);
      					
      					
      	echo' <div class="bloc1"><h3>Journal de <b> ' . $donnees['pseudo'] . ' </b> : <b> ' . htmlspecialchars(utf8_decode($donnees['nom'])) . ' </b> </h3>
            	<div class="texte"><form method="post" action="journal.php?id=' . $_GET['id'] . '&suivre=' . $_GET['id'] . '"><input type="submit" value="S\'abonner" /></form>   Publications:<br><br>';
            						
      	$reponse2 = mysql_query('SELECT * FROM msgjournal WHERE idjournal=' . $_GET['id']);
      
      	while($donnees2 = mysql_fetch_assoc($reponse2))
      	{
      		
      		$timestamp = $donnees2['date'];
      			
      		if($_GET['id'] == $donnees2['id'])
      		{
      			echo'<div class="citationaa"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . '  </h2></center></b><br>';
      			//pour afficher la date,tu fais exactement les m^mes calculs dans les deux cas on peut donc simplifier par une fonction
      			
      						
      		}
      		else
      		{
      			echo'<div class="citation"><b> ' . $donnees2['pseudo'] . ' </b> :<b><center><h2> ' . $donnees2['message'] . ' </h2></center></b><br>';
      			echo affichage_date($donnees2['date']);
              }
      	}
      
      	//le saut de ligne c'est <br /> et pas <br>
      	//revoit tes <div></div>
      	echo '</div></div><br />
      		<form method="post" action="journal.php?id='. $_GET['id'].'"> 
      		<div class="bloc1"><h3>Nouvelle publication</h3>
      		<div class="texte">* Message: <textarea name="message" style="border-radius: 5px;max-width: 670px; width: 670px; outline: 0 none;background-image: url(\'http://image.noelshack.com/fichiers/2013/12/1364038032-fontexte.png\'); repeat: none;border: 1px solid #848484;" id="message" rows="15" cols="82"></textarea>
       		<br />   
      		<center><input type="submit" value="Publier" /></center>
       		<br />
      		</div></div>';
      
      if(isset($_GET['suivre']))
      {
                            
      						   if($_GET['suivre'] == $donnees['id'])
                                      {
      
                                         
                                        $pseud = $_SESSION['m']['pseudo'];
                                        $idpseud = $_SESSION['m']['id'];
                                        $asuivre = $_GET['suivre'];
                                        $nomsuivre = $donnees['nom'];
                                        $pseudsuivre = $donnees['pseudo'];
                                        mysql_query("INSERT INTO journalsuivre VALUES('" . $pseud . "', '" . $idpseud . "', '" . $asuivre . "', '" . $nomsuivre . "', '" . $pseudsuivre . "' )");
      				}else{ avert('Erreur'); }
                                      }
      
                                      if($_POST['message'])
      				{
      
      				if($_POST['message'])
      				{
      
      	$id = $_SESSION['m']['id'];
              $idjournal = $_GET['id'];
      	$pseudo = $_SESSION['m']['pseudo'];
      	$message = secure($_POST['message']);
      	header('Location: journal.php'); 
      
      	mysql_query("INSERT INTO msgjournal VALUES('" . $id . "', '" . $pseudo . "', '" . $message . "', '" . time() . "', '" . $idjournal . "' )");
      
      
      
      						echo' Publie ! <meta http-equiv="refresh" content="0;URL=journal.php?id=' . $_GET['id'] . '"> ';
      
      				}
      				else{
      
      						echo' <br> ';
      						avert('Votre publication est vide.');
      
      				}
      				}
      
      				}
      				else
      				{
      
      
      			$reponse = mysql_query('SELECT COUNT(*) FROM journal WHERE id REGEXP "^' . $_SESSION['m']['id'] .'$"');
      			$result = mysql_result($reponse, 0);
      			
      			if($result == 0)
      			{
      
      
      if($_GET['etape'] == 1)
      		{
      
      //securisation
      
      $pseudo = secure($_SESSION['m']['pseudo']);
      $nom = text_i(secure($_POST['nom'])));
      $id = secure($_SESSION['m']['id']);
      $coms = '0';
      $msg = '';
      $date = '0';
      
      if(!empty($nom))
      {
      
      if(preg_match("#^[a-zA-Z0-9\[\]\s_-z' -à]{5,100}$#", $_POST['nom'])) // Si le pseudo respecte les conditions
      				{
      
      mysql_query("INSERT INTO journal VALUES('" . $id . "', '" . $pseudo . "', '" . $nom . "', '" . $coms . "', '" . $msg . "', '" . $date . "')");
      
      echo' 
      
      			<div class="bloc1">
      			<h3>Journal OK</h3>
      			<div class="texte">
      			Ton journal a ete creer !
      			Nom: ' . $nom . '
      			</div>
      			</div>
      
      ';
      
      }
      else
      {
      
      avert('Vous n\'avez pas entrer de nom');
      
      }
      
      }
      else
      {
      
      avert('Le nom ne respecte pas les conditions. 5 a 100 Caracteres.');
      
      }
      
      
      }
      else
      {
      
      
      //La page principale
      
      
      echo' 
      
      <div class="bloc1">
      <h3>Creation d\'un journal</h3>
      <div class="texte">
                              <form method="post" action="journal.php?etape=1"> 
                              <div class="saisie"><label for="pseudo"><font color="red">* Votre pseudo</font> :</label> <input readonly type="text" name="pseudo" id="pseudo" value="' . $_SESSION['m']['pseudo'] . '"/></div><br/>
      			<div class="saisie"><label for="passe"><font color="red">* Nom de votre journal</font> :</label> <input id="nom" "type="text" name="nom" /></div><br />
      			
                              
      			<center><input type="submit" value="Creation du journal" />
      
      
      </div>
      </div>
      
      ';
      
      }
      }
      else{
      
      echo' <div class="bloc1"><h3>Accedez a votre journal</h3>
            <div class="texte"><center><a href="journal.php?id=' . $_SESSION['m']['id'] . '"> Votre journal </a><br>
      
            </div></div> 
      
      ';
      
      }
      }
      
      error_reporting(E_ALL);
      
      include('pied.php');
      
      
      ?>
      
      
      0
  3. Truncky Messages postés 13 Statut Membre
     
    J'ai régler le problème tout seul, juste une erreur minime...

    Merci quand même :)
    0