2016-04-23 1 views
1

Ich baue eine Website, auf der Benutzer Videos hochladen und Videos kommentieren können, die hochgeladen wurden. Ich habe eine funktionierende PHP-Funktion, die das Video hochlädt, aber jetzt möchte ich einen Link unter dem Video einfügen, der auf dieses bestimmte Video verweist, um Kommentare hinzuzufügen.html5 php Video hochladen und anzeigen - Wie füge ich Kommentare zu bestimmten Uploads hinzu

Das ist mein PHP-Code ist das Video anzuzeigen:

<?php 


    $sql="SELECT * FROM video"; 
    $result=mysqli_query($db,$sql); 
    $rows=$result->fetch_all(MYSQLI_ASSOC); 



    foreach ($rows as $row) { 

    ?> 

       <div class="col-md-4"> 
       <div class="service"> 
         <video id="<?= $row["v_id"] ?>" width="350" height="315" controls="controls"> 
         <source src="uploads/<?= $row["video_name"] ?>" type="video/mp4"> 
         Your browser does not support HTML5 video. 
         </video> 
         <a href="#" data-toggle="modal" data-target="#comments">View/Add Comments</a> 
        </div> 
        </div> 

    <?php 

    } 

    ?> 

und die 'View/Add Comments' Links zu den folgenden modal:

<div class="modal fade" id="comments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
      <div class="text-center"> 
      <div class="modal-content modal-popup2"> 
       <h3 class="grey">Comments</h3> 
       <?php 

       $sql="SELECT * FROM comments"; 
       $result=mysqli_query($db,$sql); 
       $rows=$result->fetch_all(MYSQLI_ASSOC); 



       foreach ($rows as $row) { 

       ?> 

       <div class="bold black"> 
       <?php echo $row["author"] ?> says: 
       <p> 
       <?php echo $row["comment"] ?> 
       </p> 
       </div> 
       <?php 
       } 
       ?> 

       <h3 class="grey">Write a comment</h3> 
       <form method="post" action="comments.php"> 
        <fieldset> 
         <input id="author" name="author" type="text" class="form-control form-grey" placeholder="Enter name"> 
        <textarea id="comment" name="comment" class="form-control form-grey" placeholder="Enter comment" cols="30" rows="3"></textarea> 
        <button type="submit" value="Submit" class="btn btn-submit">Submit</button> 
        </fieldset> 
       </form> 
      </div> 
     </div> 
    </div> 
</div> 

Dies zeigt die Kommentare aus der Datenbank und ermöglicht es den Benutzern, ihren eigenen Kommentar hinzuzufügen. Dies ist jedoch generisch für alle Videos und nicht spezifisch für die einzelnen v_id. Ich weiß nicht, wo ich damit anfangen soll, bin neu bei PHP!

Ich weiß, ich muss zu meiner Kommentare Datenbanktabelle mit der v_id hinzufügen, und aktualisieren Sie die Datei comments.php mit der v_id des Kommentars, so dass alle Vorschläge für den Anfang wäre toll!

Lassen Sie mich wissen, wenn Sie weitere Fragen haben oder mehr vom Code sehen müssen!

Danke!

Antwort

1

Ihre $sql="SELECT * FROM comments"; muss erweitert werden, um die Abfrage auf eine bestimmte v_id zu beschränken. Siehe http://dev.mysql.com/doc/refman/5.7/en/select.html über das WHERE Argument SELECT.

Beachten Sie, dass jeder Wert für eine SQL-Abfrage SOLLTE mit einem Platzhalter übergeben werden sollte. Das direkte Einfügen von Werten in die Abfrage ist sehr riskant, da SQL-Injection-Schwachstellen normalerweise verursacht werden. Fragen Sie Google nach SQL-Injektion für weitere Informationen.

Ihr mysqli_query funktioniert möglicherweise nicht mit Platzhaltern. Weitere Informationen hierzu finden Sie unter http://php.net/manual/de/pdo.prepared-statements.php.

PS: * Ein erfahrener Entwickler könnte dies sogar mit Werten innerhalb der Abfrage vermeiden, aber die einfache sichere Lösung ist: Immer (!) Platzhalter verwenden.

Verwandte Themen