probleme script news

probleme script news - PHP - Programmation

Marsh Posté le 11-10-2005 à 08:44:56    

bonjour, voila, j' ai chopé un petit script qui est censé afficher les news, je peux ajouter des news mais une erreur sql s affiche:
 
   
 
Les News du site :
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in monsite.com/index.php on line 100
 
 
le script suivant est:
 
 

Citation :

<?
session_start();  
 
if(!isset($_SESSION['ident'])) {
    $_SESSION['ident'] = false ;
}
 
require_once('config.php');
 
$db_link = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS);
mysql_select_db(SQL_BDD);
 
if(isset($_POST)) {
    foreach($_POST as $k => $v) {
        $_POST[$k] = trim(htmlspecialchars($v)) ;
    }
}
if(isset($_GET)) {
    foreach($_GET as $k => $v) {
        $_GET[$k] = trim(htmlspecialchars($v)) ;
    }
}
 
//print'<style type="text/css"> @import url(css-capnews.css); </style>';
 
if(isset($_POST['login']) && $_POST['login'] == LOGIN  
    && isset($_POST['pass']) && $_POST['pass'] == PASS) {
    $_SESSION['ident'] = true ;
}
 
if($_SESSION['ident'] == false) {
    print ' <div id="cap_cadre"><br /><br /><strong>Identification</strong>
    <form action="admin.php" method="post">
    Login<br />
    <input type="text" name="login" size="25" /><br />
    Password<br />
    <input type="password" name="pass" size="25" /><br />
    <input type="submit" value="Valider" /></form></div>';
}
elseif($_SESSION['ident'] == true) {
   
    if(isset($_POST['send'])) {
        if($_POST['send'] == 'new') {
        $sql = "INSERT INTO cap_news (auteur,date,titre,news,active)
        values
        ('".$_POST['auteur']."',now(),'".$_POST['titre']."','".$_POST['news']."','1')";
        }
        elseif($_POST['send'] == 'update') {
        $sql = 'update cap_news set titre = "'.$_POST['titre'].'", auteur =
        "'.$_POST['auteur'].'", news = "'.$_POST['news'].'", date =
        "'.$_POST['date'].'" WHERE newsId = "'.$_POST['newsId'].'"';
        }
        mysql_query($sql,$db_link) or die(mysql_error());
    }
    if(isset($_GET['delete']) and is_numeric($_GET['delete'])) {
       mysql_query("delete from cap_news where newsId =
       \"".$_GET['delete']."\"",$db_link);
       header("location: admin.php" );        
    }
    if(isset($_GET['edit']) and is_numeric($_GET['edit'])) {
        $Id = $_GET['edit'] ;
        $sql = 'SELECT * FROM cap_news WHERE newsId = "'.$Id.'" LIMIT 1' ;
        $rc = mysql_query($sql,$db_link);
        while($data = mysql_fetch_array($rc)) {  
            print '<div id="cap_cadre">
            <form action="admin.php" method="post">
            <strong>Modification d\'une news :</strong><br /><br />
            Titre<br />
            <input type="text" name="titre" maxlength="120"
            value="'.htmlentities($data['titre']).'"/><br />
            Auteur<br />
            <input type="text" name="auteur" maxlenght="60"
            value="'.htmlentities($data['auteur']).'" /><br />
            Date de la News<br />
            <input type="text" name="date" size="10" value="'.$data['date'].'" />
            News (sans html)<br />
            <textarea name="news" cols="40"
            rows="6">'.htmlentities($data['news']).'</textarea>
            <br /><input type="submit" value="Valider" />
            <input type="hidden" name="newsId" value="'.$_GET['edit'].'" />
            <input type="hidden" name="send" value="update" />
            </form>
            <hr /><br />';
        }
    }
    else {
        print '<div id="cap_cadre">
        <form action="admin.php" method="post">
        <strong>Ajouter une news :</strong><br /><br />
        Titre<br />
        <input type="text" name="titre" maxlength="120" /><br />
        Auteur<br />
        <input type="text" name="auteur" maxlenght="60" /><br />
        News (sans html)<br />
        <textarea name="news" cols="40" rows="6"></textarea>
        <br /><input type="submit" value="Valider" />
        <input type="hidden" name="send" value="new" />
        </form>
        <hr /><br />
        <strong>Gestion des News :</strong><br /><br /><ul>';
     
        $sql = 'SELECT * FROM cap_news ORDER BY newsId DESC' ;
        $rc = mysql_query($sql,$db_link);
        while($data = mysql_fetch_array($rc)) {
            print '<li>
            Le '.$data['date'].' par '.$data['auteur'].', Titre : '.$data['titre'].'
            <br />=> <a href="?delete='.$data['newsId'].'">Supprimer</a> -  
            <a href="?edit='.$data['newsId'].'">Editer</a></li>
            ';
        }
        print'</ul>' ;
    }
    print'</div>';
}
 
 
?>


 
voila, j ai demandé trois fois sur le site qui distribue ca mais aucune reponse :(

Reply

Marsh Posté le 11-10-2005 à 08:44:56   

Reply

Marsh Posté le 11-10-2005 à 08:46:30    

edit: j ai fait une recherche ici et j ai trouvé la meme erreur, mais trop dur a comprendre par rapport a la mienne :(

Reply

Marsh Posté le 11-10-2005 à 09:06:58    

ha excusez moi encore, la vrai version a ce passage est :
 
$sql = 'SELECT * FROM cap_news ORDER BY newsId DESC LIMIT '.LIMIT_NEWS.'';
 
$rc = mysql_query($sql);
 
 
voila, en fait sur le premier j ai essayé deux trois choses mais bon, je suis assez deboussolé :(

Reply

Marsh Posté le 11-10-2005 à 09:22:23    

Ton erreur, elle veut simplement dire que mysql n'a pas renvoyé de donnée à cause d'une erreur dans la requette.
Mais comme ici, c'est pas un SAV de script finis je te laisse en chercher un autre qui marchera surement mieux (enfin je te le souhaite) par  ce qu'en général quand la discution commence comme la tienne, on y passe une demis journée sans que ca marche alors que c'est une corection super simple à faire en temps normal quand on a affaire à quelqu'un qui conait les bases du php. Personellement, j'ai pas envie aujourd'hui de perdre ma journée sur un probléme de ce genre.
 
Par contre, si au lieux de pomper bêtement des scripts tout fait, t'essaye d'apprendre le php puis de faire le tiens, là on t'aidera volontié.
 
Enfin bon, bonne chance avec ta pêche aux scripts.

Reply

Marsh Posté le 11-10-2005 à 10:24:48    

super, ca c' est ce que j' apelle de l' entraide. Il est evident qu'apprendre le php, c' est mieux. Helas, le temps me manque. Maintenant, si c' est pour sortir ce genre de chose, je prefere encore que tu ne reponde rien.
 
C' est la premiere fois que je poste sur ce forum, ben je crois que ca sera la derniere. J' espere que tu fais pas ca avec tout le monde, car sinon tu n auras bientot plus personne. Enfin bon, ca ne fait que le deuxieme forum d' aide qui ne m' aide pas.
 
Je vai essayer de trouver quelqu' un qui s' est levé du pied droit.
 
Salut (formule de politesse que l' on dit avant toute chose)

Reply

Marsh Posté le 11-10-2005 à 10:52:01    

ok, j'aurais du faire la réponse habituelle alors au lieux de t'expliquer la signification de l'erreur :
 
Extrait du réglement du forum. :

Citation :

[0C] On ne fait pas le boulot à votre place.  
Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et n'obtiennent que très rarement de réponses.


 
Donc oui, t'as pas posté sur le bon forum pour avoir une correction toute faite.

Reply

Marsh Posté le 11-10-2005 à 11:12:56    

Ce que je voulais dire, c' est que meme si je ne connaissais pas ton reglement (que j' aurai du au prealable lire mais ils diesnt tous la meme chose) c' est que meme moi le noob j' avais compris que c' etait une erreur de requete. Je suis en train d' apprendre le php, tu aurai du déduire que le premier post que j ai mis etait le mauvais, celui que ja vais ESSAYE DE CORRIGER. Maintenant, sur tous les forums, c' est pareil, au debut ou le site commence, on aide volontier a 100%, puis c' est la faiblesse continu et les aideurs ont un peu marre.
 
Moi je tiens un cybercafé depuis 4 ans, jamais au grand jamais je n' ai fait la morale quand on m' a posé un equestion du genre"j arete pas de le dire..."
 
Voila, donc, laisse tomber, fais pas ton grand qui a pitié, quand on sait pas tenir une société, on ne la tient pas.
 
Donc pas la peine de repondre, au pire, ferme meme ce topic, car je ne reviendrai pas.
 
Incapable imbécile

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed