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

Résolu/Fermé
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - 30 mars 2013 à 09:44
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - 30 mars 2013 à 11:58
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 ! :)
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 mars 2013 à 09:56
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
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 10:02
Je vais essayer, mais cette partie du script marchait très bien hier, et je ne l'ai pas modifiée aujourd'hui.
0
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 10:03
Le session_start(); est déjà dans le fichier base.php
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 mars 2013 à 10:55
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
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 11:06
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
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 11:58
J'ai régler le problème tout seul, juste une erreur minime...

Merci quand même :)
0