IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de suppression des commentaires dans mon systeme de news


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Points : 53
    Points
    53
    Par défaut Problème de suppression des commentaires dans mon systeme de news
    Bonjour,

    je n'arrive pas à mettre en place un système de suppression de commentaires.
    J'ai le droit à ce message d'erreur que je n'arrive pas à résoudre.
    Voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    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
    							    <?php
     
     
    		$id=$_GET['id'];
     
    	$sql="SELECT * FROM news WHERE id=$id";
    	$req = mysql_query($sql) or die(mysql_error());
     
    	$data=mysql_fetch_assoc($req);
     
    		echo "<p>SUJET NEWS <br> <br> {$data["titre"]} -- ";
    		echo "<p> {$data["contenu"]} </p>";
    		echo "<p align\"right\">".date("j/n/Y G:i",strtotime($data["date"]))."</p>";;
     
     
     
    	$sql2="SELECT * FROM comment WHERE news_id=$id ORDER BY id ASC";
    	$req2 = mysql_query($sql2) or die(mysql_error());
     
    	while($data2=mysql_fetch_assoc($req2))
    	{
     
     
    		echo "------------ <br>"; 
    		echo "<p> Pseudo : {$data2["pseudo"]} </p>";
    		echo" <p> Commentaire : <br>{$data2["contenu"]} </p>";
    		echo " <a href=\"supprcom.php?id={$data2["id"]} \">x</a>";
    		echo "------ <br>";
     
    	}
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     
    session_start();
    require("auth.php");
     
     
     
    	if(Auth::isLogged())
    	{
     
    	}
    	else
    	{	
    		header('location:../index.php');
    	}	
     
    	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    	mysql_select_db(DB_BDD);
    	$sql = "DELETE FROM comment WHERE id={$_GET["id"]} and news_id={$_GET["news_id"]} ";
    	$req = mysql_query($sql) or die(mysql_error());
    	header("location: gestionnews.php");
    // AND id={$_GET["id"]}	
    ?>

    Voilà mes tables

    comments :
    id
    pseudo
    mail
    contenu
    news_id
    news :
    id
    image
    titre
    contenu
    date
    Et voilà mon message d'erreur :

    
    Notice: Undefined index: news_id in F:\EasyPHP 3.0\www\psg test\admin\supprcom.php on line 19
    Erreur de syntaxe pr�s de '' � la ligne 1
    Je ne sais pas non plus comment faire pour faire passer l'id du commentaire pour supprimer un commentaire et pas tous d' une même news.


    Merci d'avance !

  2. #2
    Membre averti Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Points : 446
    Points
    446
    Par défaut
    Salut ,

    Pourquoi tu mets des {}

    De plus ton code est sujet aux injections sql

    Essaye plutôt comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql = "
        DELETE FROM 
            comment 
        WHERE 
            comment.id=".intval(mysql_real_escape_string($_GET["id"]))." 
        AND
            comment.news_id=".intval(mysql_real_escape_string($_GET["news_id"]))." 
        LIMIT 1";
    Ch.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Points : 53
    Points
    53
    Par défaut
    Cela ne fonctionne toujours pas.
    Je mets des {} car sinon cela ne fonctionne pas dans cette page par exemple cela ne fonctionne pas sinon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     
    session_start();
    require("auth.php");
     
     
     
    	if(Auth::isLogged())
    	{
     
    	}
    	else
    	{	
    		header('location:../index.php');
    	}	
     
    	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    	mysql_select_db(DB_BDD);
    	$sql = "DELETE FROM news WHERE id={$_GET["id"]}";
    	$req = mysql_query($sql) or die(mysql_error());
    	header("location: gestionnews.php");
     
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu ne tiens pas compte de ce qu'on te dit, on ne va pas avancer vite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "DELETE FROM comment WHERE id=" . intval($_GET["id"]);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Points : 53
    Points
    53
    Par défaut
    J'ai essayé en changeant et ça ne marchait plus c'est out ce que je disais
    Ensuite j'ai essayé ton code et cela fonctionne donc merci.
    En ce qui concerne la sécurité des injections SQL je vais me renseigner mais peut être aurais tu un tuto complet à me conseiller ?

    Merci d'avance et merci à tout les deux !

Discussions similaires

  1. [XL-2010] Problème de suppression des données dans une feuille
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2014, 10h16
  2. SED: Script de suppression des commentaires dans d'un fichier file.[c|cpp]
    Par Teudjy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 19/04/2014, 02h23
  3. Suppression des commentaires dans des scripts
    Par julinho9 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 06/03/2009, 19h26
  4. problème avec la suppression des doublons dans arraylsit
    Par ulysse031 dans le forum Langage
    Réponses: 13
    Dernier message: 04/03/2007, 12h52
  5. Réponses: 1
    Dernier message: 06/03/2003, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo