Danny92 Skrevet 1. august 2007 Del Skrevet 1. august 2007 (endret) Har laget et basic nyhetsystem til meg selv og det funker som det skal. Det er laget i php og mysql. Men det er litt tungvint når jeg skal poste siden jeg driver og tester med f.eks id 1. Ossen kan jeg gjøre sånn at alle idene kommer etterværandre men adskilt på en måte? Også når jeg poster må jeg f.eks bruke <br> får å få ny linje ossen kan jeg få det automatsik? Her er kodene: Formen til og poste: <form action="post.php" method="POST"> <table width="245"> <tr> <td>Titel:</td> </tr> <tr> <td> <input type="text" name="titel" value=""></td> </tr> <tr> <td>Dit navn:</td> </tr> <tr> <td> <input type="text" name="navn" value="Av: "></td> </tr> <tr> <td width="100">Dato</td> </tr> <tr> <td><input name="dato" type="text" id="date" value="Den: <?php echo date('d.m.Y - H:i'); ?>"></td> </tr> <tr> <td>Text:</td> </tr> </table> <textarea name="melding" rows="7" cols="38"></textarea><br> <input type="submit" name="submit" value="Post!"> <input type="reset" name="reset" value="Visk ut!"> </form> Setter inn det som er i formelen: <?php include("config.php"); $titel = $_POST['titel']; $navn = $_POST['navn']; $dato = $_POST['dato']; $melding = $_POST['melding']; //mysql_query("INSERT INTO nyhet (title, navn, dato, nyhet) VALUES ($titel, $navn, $dato, $melding); mysql_query("INSERT INTO nyhet SET title='$titel', navn='$navn', dato='$dato', nyhet='$melding'"); ?> Poster nyheten: <?php include("config.php"); $query = "SELECT title,navn,dato,nyhet FROM nyhet WHERE id=2"; $title = mysql_query($query); $navn = mysql_query($query); $dato = mysql_query($query); $nyhet = mysql_query($query); while($t = mysql_fetch_assoc($title)) while($na = mysql_fetch_assoc($navn)) while($d = mysql_fetch_assoc($dato)) while($n = mysql_fetch_assoc($nyhet)) echo " <b>{$t['title']}</b><br><br> {$n['nyhet']}<br> {$na['navn']} {$d['dato']} "; ?> Takk på forhånd for hjelp! Endret 1. august 2007 av dannyboy_1992_ Lenke til kommentar
jeg_lyver_mye Skrevet 1. august 2007 Del Skrevet 1. august 2007 (endret) Noe sånt blir det: PHP <?php include("config.php"); $query = "SELECT title,navn,dato,nyhet FROM nyhet WHERE id=2"; mysql_query($query); $screen = ''; while ($fetch = mysql_fetch_object($query)) { $screen .= '<h3>' . $fetch->title . '</h3>'; // Lager automatisk <br /> $screen .= nl2br($fetch->nyhet); $screen .= '<p>Av ' . $fetch->navn . ', dato: ' . $fetch->dato . '</p>'; } echo $screen; ?> Har ikke testa om det funker, men post hvis det er noe galt. Endret 1. august 2007 av nevoscript Lenke til kommentar
Gjest Slettet+142 Skrevet 1. august 2007 Del Skrevet 1. august 2007 Altså. Det nyhetsskriptet der er jo maks sårbart. Du sikrer jo ikke inputs før du setter de inn i sql Og må si at jeg ikke skjønner hvordan du har klart å hente ut nyheten med den koden du har der Her har jeg prøvd å forbedre bittelitt: -- Setter inn det som er i formelen: <?php include("config.php"); $titel = mysql_real_escape_string($_POST['titel']); $navn = mysql_real_escape_string($_POST['navn']); $dato = mysql_real_escape_string($_POST['dato']); $melding = mysql_real_escape_string($_POST['melding']); // mysql_real_escape_string er tingen for sikring :) //mysql_query("INSERT INTO nyhet (title, navn, dato, nyhet) VALUES ($titel, $navn, $dato, $melding); mysql_query("INSERT INTO nyhet SET title='$titel', navn='$navn', dato='$dato', nyhet='$melding'"); ?> Poster nyheten: <?php include("config.php"); $sql = "SELECT title,navn,dato,nyhet FROM nyhet WHERE id=2"; $query = mysql_query($sql); while($r = mysql_fetch_assoc($query)){ echo "<b>{$t['title']}</b><br><br>\n"; echo nl2br($n['nyhet']). "<br>\n"; // nl2br() legger til <br> hvor den finner \n echo "{$na['navn']} {$d['dato']}\n"; } ?> Hvis database-tabellen din ikke inkrementerer(øker) id-en for hver gang du legger til en nyhet, kan du fikse dette ved å redigere id-feltet i phpMyAdmin og markere feltet som Primary Key, og gi den spesifikken AUTO_INCREMENT -- Nå ser jeg at nevoscript har postet, men jeg poster allikevel Lenke til kommentar
Danny92 Skrevet 1. august 2007 Forfatter Del Skrevet 1. august 2007 Dette fikk jeg Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\design 1\news\news.php on line 10 Lenke til kommentar
Gjest Slettet+142 Skrevet 1. august 2007 Del Skrevet 1. august 2007 feilen med nevoscript sitt script er at han glemte å tilordne queryen til en variabel. Rett mysql_query($query); til $query = mysql_query($query); Lenke til kommentar
jeg_lyver_mye Skrevet 1. august 2007 Del Skrevet 1. august 2007 Oisann... PHP <?php include("config.php"); $sql = "SELECT title,navn,dato,nyhet FROM nyhet WHERE id=2"; $query = mysql_query($sql); $screen = ''; while ($fetch = mysql_fetch_object($query)) { $screen .= '<h3>' . $fetch->title . '</h3>'; // Lager automatisk <br /> $screen .= nl2br($fetch->nyhet); $screen .= '<p>Av ' . $fetch->navn . ', dato: ' . $fetch->dato . '</p>'; } echo $screen; ?> Beklager Lenke til kommentar
Danny92 Skrevet 1. august 2007 Forfatter Del Skrevet 1. august 2007 (endret) mariyo, ingen ting kommer opp på siden min. Endret 1. august 2007 av dannyboy_1992_ Lenke til kommentar
jeg_lyver_mye Skrevet 1. august 2007 Del Skrevet 1. august 2007 Endre: $sql = "SELECT title,navn,dato,nyhet FROM nyhet WHERE id=2"; til: $sql = "SELECT title,navn,dato,nyhet FROM nyhet ORDER BY `id` DESC LIMIT 10"; Lenke til kommentar
Danny92 Skrevet 1. august 2007 Forfatter Del Skrevet 1. august 2007 Tussen takk ofr all hjelp! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå