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 -
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:
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 ! :)
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
-
Salut, tu mets:
if(!isset($_SESSION['m']['pseudo']))
et ou est ton session_start() ??
il faut:
<?php session_start(); if(!isset($_SESSION['m']['pseudo'])) .....
-
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-
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'); ?>
-
-
J'ai régler le problème tout seul, juste une erreur minime...
Merci quand même :)