Hej Kasper, jeg så lige din tråd, og tænkte jeg kunne give en hånd.
For at du kan lave dit system, bliver du nødt til at have to tabeller med data. En til selve nyhederne, og en til kommentarene.
Jeg har givet det et forsøg og bikset noget kode sammen, har ikke selv testet det endnu, men jeg tror det virker, ligesåvel som der kan være fejl i det
.
- <?php
- // Includer din database-tilslutter fil
- include('connect.php');
-
- $nyheds_id = $_GET['id'];
- //Tjekker om id'et faktisk er et id, for sikkerhedens skyld.
- if (!is_numeric($nyheds_id)){
- $hent_nyhed = mysql_query("SELECT * FROM nyheder WHERE id = '$nyheds_id'") or die(mysql_error());
-
- if ($hent_nyhed){
- if(mysql_num_rows($hent_nyhed) != 0){
- $row = mysql_fetch_array($hent_nyhed);
-
- //I databasen for nyheder er der 3 variabler, id, titel og tekst.
- $nyheds_id = $row['id'];
- $nyheds_titel = $row['titel'];
- $nyheds_tekst = $row['tekst'];
- }else{
- echo "Nyheden eksisterer ikke.";
- }
- }else{
- echo "Kunne ikke tilslutte til databasen";
- }
- }
- ?>
- <div id="nyhed">
- <h3 id="titel"><?php echo $nyheds_titel;?></h3>
- <p id="tekst"><?php echo $nyheds_tekst;?></p>
- </div>
-
- <div id="svar">
- <?php
- //Henter alle kommentarene fra databasen med kommentarer.
- $hent_kommentarer = mysql_query("SELECT * FROM nyheder_svar WHERE nyheds_id = '$nyheds_id' ORDER BY id") or die(mysql_error());
-
- //Tjekker om der eksistere nogle kommentarer.
- if (mysql_num_rows($hent_kommentarer)!=0){
- //Hvis der eksisterer nogle kommentarer, print dem ud.
- while($row = mysql_fetch_array($hent_kommentarer)){
- $kommentar_id = $row['id'];
- $kommentar_tekst = $row['tekst'];
- $kommentar_navn = $row['navn'];
- ?>
- <p>
- <b><?php echo $kommentar_navn;?> skrev:</b>
- <p><?php echo $kommentar_tekst;?></p>
- </p>
- <?php
- }
- }else{
- echo "Der er endnu ikke kommenteret på denne nyhed.";
- }
- ?>
- </div>
-
- <div id="skrivetsvar">
- <?php
- if ($_POST['submit'];){
- $svar = $_POST['svar'];
-
- //Tjekker for muligt spam.
- if ($svar!=$kommentar_tekst){
-
- //Indsætter dataen i en tabel, med 3 variabler, id (på selve kommentaren), id på nyheden, og selve svaret.
- if (mysql_query("INSERT INTO nyheder_svar VALUES ('', '$nyheds_id', '$svar')")){
-
- //Giver en besked om at kommentaren succesfuldt blev oprettet, og reloader siden.
- $besked = "Dit svar blev succesfuldt oprettet";
- echo "<meta http-equiv=\"refresh\" content=\"0;URL=".curPageURL()."\">";
- }
- }else{
- echo "Den sidste kommentar skrevet til denne nyhed, er magen til den du lige har skrevet.";
- }
- }
- ?>
- <form method="post" action="">
- <textarea name="svar"></textarea>
- <input type="submit" name="submit" value="Kommenter"/>
- </form>
- </div>
Det skal lige siges, at den her stump kode langt fra er sikker, og du bør selv sørge for at der bliver tilført nogle flere ting, som at man skal være logget ind for at skrive en kommentar, eller man skal svare på et sikkerheds-spørgsmål.
Men jeg håber du kan bruge det til noget, ellers må du jo skrive igen
Indlæg senest redigeret d. 23.02.2013 13:36 af Bruger #16605