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

PHP & Base de données Discussion :

Des commentaire sur un script de news [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Des commentaire sur un script de news
    Bonjour a tous!

    Voila, je voudrai mettre un fonctionnaliter supplementaire sur mon script de news (PHP)

    J'ai commencer par créé une table SQL suplementaire nommer "commentaire_news" avec 4 champs ==>id, pseudo, commentaire et un champs id_news qui va corespondre a l'id
    de la news ou on veut poster un commentaire

    Le truc ou je bloque c'est comment enregistrer le numero de l'id de la news dans la table "commentaire_news??

    Merci de vos réponse

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Comment se passe l'enregistrement de la réaction à la news??
    Il doit bien y avoir un moment ou tu sait à quelle news à réagis l'utilisateur, non?
    Si oui lors de la validation du commentaire, tu passera en même temps un champs caché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id_news" value="id-de-la-news">
    que tu récupère au moment où tu enregistre, de cette façon tu aura ton commentaire qui sera lié à ta news!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    C'est ce que j'ai fait pourtant

    Mon formulaire:
    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
    <form action="traitement_commentaire_news.php" method="post">
     
    <p>Pseudo : <input type="text" size="30" name="pseudo" value="<?php echo $pseudo; ?>" /></p>
     
    <p>
     
    Commentaire :<br />
     
    <textarea name="commentaire" cols="50" rows="10">
     
    <?php echo $commentaire; ?>
     
    </textarea><br />
     
     
     
    <input type="hidden" name="id_news" value="<?php echo $id_news; ?>"/>
     
    <input type="submit" value="Envoyer" />
     
    </p>
     
    </form>
    Ma page de traitement du formulaire:
    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
    32
    33
    34
    <?php 
    /////////////////////////////////////////////////
    // Script d'insertion du commentaire de la news//
    /////////////////////////////////////////////////
     
    mysql_connect("localhost", "Login", "MDP");
     
    mysql_select_db("NDB");
     
    if(isset($_POST['pseudo']))      
     
    $pseudo=$_POST['pseudo'];
     
    else      $pseudo="";
     
    if(isset($_POST['commentaire']))      
     
    $commentaire=$_POST['commentaire'];
     
    else      $commentaire="";
     
    if (isset($_GET['id_news']))
    $id_news=$_GET['id_news'];
     
    else      $id_news="";
     
     
     
    $sql = "INSERT INTO commentaire_news (id,pseudo,commentaire,id_news) VALUES('','$pseudo','$commentaire','$id_news')"; 
     
    // on insère les informations du formulaire dans la table
     
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    ?>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    D'où sort $id_news dans ton formulaire ? As-tu vérifié sa valeur ?

    Et que se passe-t-il, concrètement ?

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    Je mets un petit billet sur la synthaxe

    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO commentaire_news (id,pseudo,commentaire,id_news) VALUES('', '".$pseudo."', '".$commentaire."', '".$id_news."')";

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="traitement_commentaire_news.php" method="post">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_GET['id_news']))
    $id_news=$_GET['id_news'];
    passé au script en post et le script recupere en get...
    Attention aux SQL injections

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Re!
    Voila j'ai trouvez la solution!

    Dans mon formulaire, J'ai fait passer la variable "id_news" en GET c'est une variable qui était dans l'url, (je l'avait pas dit ca) vu que je voullai l'ID de ma table "news"
    Voir ci dessous le lien pour poster un commentaire sur la news en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php echo '<a href="formulaire_commentaire_news.php?id_news=' . $donnees['id'] . '">';
    ?>Commentaire</a>
    Ensuite dans mon script "traitement_commentaire_news" je l'ai fait repasser en POST pour enfin l'enregistrer dans ma table "commentaire_news"

    Comme dit nicolas2117, je croi que ca pose quelque problme de securiter de faire ca? du au injonction SQL, mais je voit pas comment je pourrai faire autrement? ?
    Il y a d'autre possibiliter?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Merci de m'avoir mis sur la voie pour mon script
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Restrictions des librairies sur un script Groovy
    Par radtriste dans le forum Groovy
    Réponses: 1
    Dernier message: 26/05/2009, 15h36
  2. mettre des commentaire sur des cellules
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2008, 16h03
  3. Récupération des commentaires sur les champs des tables.
    Par mikef32 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/08/2006, 00h23

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