Spill Posté 15 Août 2006 Posté 15 Août 2006 (modifié) Bonjour , je possède un script de news . Mais il ne marche pas (sinon , que ferais-je ici ?) Voici le script de news tirée de http://g.carneus-design.com/news.php pour l'instant , je veut qu'il marche tout simplement et après je vais le coller dans le script de mon site . Le problème - chaque page contient une erreur . Pour le login , mot de passe , base ça marche . news.php <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /><meta name="author" content="[ Autor dokumentu ]" /><meta name="description" content="[ Opis dokumentu ]" /><meta name="generator" content="EdHTML" /><title>news</title></head><body><?phpmysql_connect("localhost", "root", ""); // Connexion a MySQL$retour = mysql_query('SELECT * FROM news_puissance');while ($donnees = mysql_fetch_array($retour)){}echo ''.$donnees['titre'].'<br><img src="images/'.$donnees['image'].'"/><br>';echo ''.$donnees['contenu'].'<br><br>'; echo $donnees['auteur'];?></body></html> rediger_news.php <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /><meta name="author" content="[ Autor dokumentu ]" /><meta name="description" content="[ Opis dokumentu ]" /><meta name="generator" content="EdHTML" /><title>Rediger news</title><script language="JavaScript" type="text/JavaScript">function addText(instext) {var mess = document.forum.contenu;//IE supportif (document.selection) {mess.focus();sel = document.selection.createRange();sel.text = instext;document.forum.focus();}//MOZILLA/NETSCAPE supportelse if (mess.selectionStart || mess.selectionStart == "0") {var startPos = mess.selectionStart;var endPos = mess.selectionEnd;var chaine = mess.value;mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);mess.selectionStart = startPos + instext.length;mess.selectionEnd = endPos + instext.length;mess.focus();} else {mess.value += instext;mess.focus();}}</script></head><body><?phpmysql_connect("localhost", "root", ""); // Connexion a MySQLif (isset($_POST['envoyer']) && $_POST['envoyer'] == 'Envoyer'){if (empty($_POST['titre']) || empty($_POST['contenu'])) {$erreur = 'Vous devez remplir tout les champs !';}else{if ($lien_image != "none") {$dest_image = "images/".$_FILES['lien_image']['name'];$image = $_FILES['lien_image']['name'];$source_file=stripslashes($lien_image);$res_copy=copy($source_file , $dest_image); }$sql = mysql_query('INSERT INTO news_puissance VALUES("","'.$_POST['titre'].'", "'.$pseudo.'", "'.$_POST['contenu'].'", "'.$image.'")') or die('Erreur SQL !'.$sql.'<br>'.mysql_error());echo 'Votre news est en ligne !';}} ?></body></html> moderer_news.php <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /><meta name="author" content="[ Autor dokumentu ]" /><meta name="description" content="[ Opis dokumentu ]" /><meta name="generator" content="EdHTML" /><title>Moderer news</title></head><body><?phpif (isset($_GET['supprimer_news'])){mysql_query('DELETE FROM news_puissance WHERE id=' . $_GET['supprimer_news']);}?><table border="1" cellspacing="0"><tr><th width="80">Supprimer</th><th width="30">Lien</th><th width="6">Titre</th><th width="132">Modifier</th></tr><?php$retour = mysql_query("SELECT * FROM news_puissance ORDER BY id DESC");while ($donnees = mysql_fetch_array($retour)){?><tr><td><?php echo '<a href="moderer_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td><td><div align="center"><?php echo stripslashes($donnees['page']); ?></div></td><td><?php echo stripslashes($donnees['titre']); ?></td><td><?php echo '<a href="modifier_news.php?id=' . $donnees['id'] . '">'; ?>Modifier</td></tr>}</body></html> modifier_news.php <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /><meta name="author" content="[ Autor dokumentu ]" /><meta name="description" content="[ Opis dokumentu ]" /><meta name="generator" content="EdHTML" /><title>Modifier news</title><script language="JavaScript" type="text/JavaScript">function addText(instext) {var mess = document.forum.contenu;//IE supportif (document.selection) {mess.focus();sel = document.selection.createRange();sel.text = instext;document.forum.focus();}//MOZILLA/NETSCAPE supportelse if (mess.selectionStart || mess.selectionStart == "0") {var startPos = mess.selectionStart;var endPos = mess.selectionEnd;var chaine = mess.value;mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);mess.selectionStart = startPos + instext.length;mess.selectionEnd = endPos + instext.length;mess.focus();} else {mess.value += instext;mess.focus();}}</script></head><body><?phpif ($modif==1) {if (empty($_POST['titre2']) || empty($_POST['contenu2'])) {$erreur = 'Vous devez remplir tout les champs !';}else{if ($lien_image != "none") {$dest_image = "images/".$_FILES['lien_image']['name'];$image = $_FILES['lien_image']['name'];$source_file=stripslashes($lien_image);$res_copy=copy($source_file , $dest_image); }$sql = mysql_query('UPDATE news_puissance SET titre="'.$_POST['titre2'].'", contenu="'.$_POST['contenu2'].'" WHERE id='.$idarticle.', image="'.$image.'"') or die('Erreur SQL !'.$sql.'<br>'.mysql_error());} } ?><form name="forum" method="post" action="modifier_news.php?modif=1&id="><table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#333333"><tr><td width="90" align="center" bgcolor="#DEBA42" class="texteTITRE">Titre :</td><td width="339" align="center" bgcolor="#D5B13F" class="textePRINCIPAL"><input name="titre2" type="text" id="titre2" value="<?php echo $table3['titre']; ?> " size="40"></td></tr><tr><td align="center" valign=top bgcolor="#FFFFFF" class="textePRINCIPAL2"> </td><td align="center" bgcolor="#FFFFFF" class="textePRINCIPAL"><textarea name="contenu2" cols="40" rows="10" id="contenu2"></textarea></td></tr><tr><td></td><td><input type="file" name="lien_image" enctype="multipart/form-data"></td></tr><tr><td colspan="2" align="center" bgcolor="#D5B13F" class="textePRINCIPAL"><input type="submit" name="envoyer" value="Envoyer" ></td></tr></table></form></body></html> EDIT : Merci d'utiliser codebox et non code pour les codes longs Modifié 16 Août 2006 par Portekoi
beal2912 Posté 16 Août 2006 Posté 16 Août 2006 Bonjour, pourrais-tu donner l'erreur que tu obtiens ? c'est mieux pour en chercher la cause
Spill Posté 16 Août 2006 Auteur Posté 16 Août 2006 (modifié) rediger_news.php - rien s'affiche - que du blanc news.php - Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\utilisateur\mes documents\testsphp\news.php on line 17 modifier_news.php - En haut : Notice: Undefined variable: modif in c:\documents and settings\utilisateur\mes documents\testsphp\modifier_news.php on line 41 Zone de titre : <br /><b>Notice</b>: Undefined variable: table3 in <b>c:\documents and settings\utilisateur\mes documents\testsphp\modifier_news.php</b> on line <b>62</b><br /> moderer_news.php - Parse error: parse error in c:\documents and settings\utilisateur\mes documents\testsphp\moderer_news.php on line 44 Modifié 16 Août 2006 par Spill
Portekoi Posté 16 Août 2006 Posté 16 Août 2006 Bonjour, On ne peut t'aider en l'état. Il faut que tu nous donnes les lignes qui sont citées par les erreurs et non tout ton script. Par exemple, à quoi correspond la ligne 17 du fichier news.php? Sois plus explicite Portekoi
Spill Posté 16 Août 2006 Auteur Posté 16 Août 2006 (modifié) rediger_news.php - rien s'affiche - que du blanc news.php - while ($donnees = mysql_fetch_array($retour)) modifier_news.php - if ($modif==1) { Zone de titre : <td width="339" align="center" bgcolor="#D5B13F" class="textePRINCIPAL"><input name="titre2" type="text" id="titre2" value="<?php echo $table3['titre']; ?> " size="40"></td> moderer_news.php - La ligne 44 n'existe pas . Modifié 16 Août 2006 par Spill
Sarc Posté 16 Août 2006 Posté 16 Août 2006 Bonjour, Notice: Undefined variable: modif in c:\documents and settings\utilisateur\mes documents\testsphp\modifier_news.php on line 41 Ca, c'est pas vraiment grave, ça veut dire que ta variable n'a pas été initialisée, c'est à dire qu'elle n'a pas de valeur... Généralement on configure le serveur pour qu'il n'affiche pas ces erreurs là, c'est ça la permissivité de PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\utilisateur\mes documents\testsphp\news.php on line 17 Ca, c'est plus problématique : soit ta connexion SQL ne marche pas (ou tu n'es pas connecté à la base), soit la requète n'est pas valide à cause d'erreurs dans les colonnes... soit encore il n'y a aucun résultat de renvoyé. Premier test : afficher la requète sur ta page, (suivie éventuellement de exit(); pour éviter d'autres erreurs), puis tu testes la requète dans PHPmyadmin... Plusieurs possibilités : 1. ça te renvoie une ou plusieurs lignes => problème de connexion à la base 2. ça te renvoie aucune ligne => il faut faire un test de mysql_num_rows et ne pas lancer la boucle s'il n'y a pas de ligne 3. ça te renvoie une erreur => corriger l'erreur.. Pour la page qui n'affiche que du blanc, c'est sûrement qu'une erreur n'a pas été renvoyée. Si tu es dans Apache, vas vérifier les logs erreur apache pour trouver l'erreur ! Voilà un début de réponse.. Edit : j'ai oublié le parse error. Si la ligne n'existe pas, c'est certainement qu'il manque une accolade fermante dans ton programme, qu'il y a un if ou un while qui n'est pas fermé... Vérifie où il manque un } et rajoute-le
Portekoi Posté 16 Août 2006 Posté 16 Août 2006 Re, Essaie de mettre des phrases dans tes posts sur genre "merci", "bonjour" etc... pour ton premier problème, remplace ca : $retour = mysql_query('SELECT * FROM news_puissance');while ($donnees = mysql_fetch_array($retour)) par $retour = mysql_db_query('le nom de ta base', 'SELECT * FROM news_puissance');while ($donnees = mysql_fetch_array($retour)) Portekoi
Spill Posté 16 Août 2006 Auteur Posté 16 Août 2006 Merci , le dernier problème : sur rediger news ça n'affiche rien . Ou dois-je écrire mes news ?
Portekoi Posté 16 Août 2006 Posté 16 Août 2006 Replace ta page rediger news par ca : <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /><meta name="author" content="[ Autor dokumentu ]" /><meta name="description" content="[ Opis dokumentu ]" /><meta name="generator" content="EdHTML" /><title>Rediger news</title><script language="JavaScript" type="text/JavaScript">function addText(instext) {var mess = document.forum.contenu;//IE supportif (document.selection) {mess.focus();sel = document.selection.createRange();sel.text = instext;document.forum.focus();}//MOZILLA/NETSCAPE supportelse if (mess.selectionStart || mess.selectionStart == "0") {var startPos = mess.selectionStart;var endPos = mess.selectionEnd;var chaine = mess.value;mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);mess.selectionStart = startPos + instext.length;mess.selectionEnd = endPos + instext.length;mess.focus();} else {mess.value += instext;mess.focus();}}</script></head><body><?phpmysql_connect("localhost", "root", ""); // Connexion a MySQLif (isset($_POST['envoyer']) && $_POST['envoyer'] == 'Envoyer'){if (empty($_POST['titre']) || empty($_POST['contenu'])) {$erreur = 'Vous devez remplir tout les champs !';}else{if ($lien_image != "none") {$dest_image = "images/".$_FILES['lien_image']['name'];$image = $_FILES['lien_image']['name'];$source_file=stripslashes($lien_image);$res_copy=copy($source_file , $dest_image); }$sql = mysql_query('INSERT INTO news_puissance VALUES("","'.$_POST['titre'].'", "'.$pseudo.'", "'.$_POST['contenu'].'", "'.$image.'")') or die('Erreur SQL !'.$sql.'<br>'.mysql_error());echo 'Votre news est en ligne !';}else{echo "Coucou, ca marche";}}?></body></html>
Spill Posté 16 Août 2006 Auteur Posté 16 Août 2006 (modifié) Ca affiche une erreur . Parse error: parse error in c:\documents and settings\utilisateur\mes documents\testsphp\rediger_news.php on line 61 Ligne 61 : else Modifié 16 Août 2006 par Spill
Portekoi Posté 16 Août 2006 Posté 16 Août 2006 Essaie d'y mettre un peu du tiens Reprends ta page d'origine et affiche juste avant le </body> un mot pour voir si ta page est bien appellée. Si tel est le cas, c'est que tu as un problème sur tes if. Portekoi
NorSeb Posté 17 Août 2006 Posté 17 Août 2006 Bonjour, Visiblement une mise à niveau (c'est un euphémisme) s'impose. Il me semble qu'il manque un mysql_select_db() dans tes paramètres de connexion à ta base de données. C'est pour ca que les mysql_fetch_array() ne "donnent" rien. Les parse error correspondent à des erreurs de syntaxe. Il doit manquer un ; quelque part, ou bien y-a-t-il un déséquilibre des parenthèses ou accolades, etc... Commence par te relire, puis va faire un tour sur le site du Zéro pour y apprendre les bases du PHP, ca ne pourra t'être que bénéfique
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant