23. juli 2007 - 17:26Der er
49 kommentarer og 1 løsning
Tilføj nyheder - Script
Hej jeg er igang med at lave et "Tilføj nyheder" script.. men jeg ved ikke rigtig hvordan det skal gøres.. er lidt ny til PHP det jeg har lavet endtil videre
sql = mysql_query("INSERT INTO nyhed"); or die mysql_error();
?> <table width="284" height="401" border="0" cellpadding="0" cellspacing="1"> <tr> <td><form id="1" name="overskrift" method="post" action=""> <label>overskrift:<br /> <input type="text" name="overskrift" style="width:300px;" id="1" /> </label> </form> <form id="2" name="nyhed" method="post" action=""> <label>Nyhed: <textarea name="nyhed" id="2" style="width:300px; height:200px;"></textarea> </label> </form> <form id="3" name="godkend" method="post" action=""> <label> <input type="submit" name="godkend" id="3" value="Godkend" /> </label> </form> <br /></td> </tr> </table> </body> </html> -----------end---------- hvis nogen gad at skrive hva der skal laves for at den indsætter ting i databasen.. og forklare hvorfor der skal stå lige nettop det og det.. :)
</body> </html> --------- Når jeg trykker godkend nyhed så kommer det her frem i adresse linjen: tilfoj.nyheder.php?action=ny men den indsætter ik noget i databasen.. nogen der ved hvorfor ?
mysql_query("INSERT INTO nyhed (overskrift, forfatter, dato, nyhed) VALUES ('$_POST[overskrift]', '$_POST[forfatter]', '$dato', '$_POST[nyhed]')") or die ("Fejl ved INSERT INTO nyhed: " . mysql_error());
maghem jeg har husket min config.php :), når jeg har rettet det som du skrev leif.. så får jeg den her fejl "Fejl ved INSERT INTO nyhed: Duplicate entry '' for key 1" har aldrig set sån en fejl før :/ ved i hva der kan være galt ?
Det er sådan at hver record skal have et eller andet unikt, enten fx. et fortløbende nummer, en Dato, Dato+Tid, et Brugernavn alt afhængig hvad det er for en type data som ligger i tabellen, fx. en tabel med Brugernavne og Kodeord så vil man typisk bruger Brugernavn som det unikke så man ikke har 2 brugere med samme Brugernavn !
ahh okay :) men leif tror du jeg kan få din msn og så kan jeg lave en invitation til fjernstyrning af min PC så kan det være du kan kigge på min mysql tabel og det ?
og nu virker mit script sku også :D hvordan får jeg den til at skrive "nyheden blev tilføjet".. og så skal de der forms forsvine lige så snart jeg trykker på godkend Nyhed så der KUN står "Nyheden blev tilføjet"
mysql_query("INSERT INTO nyhed (overskrift, forfatter, dato, nyhed) VALUES ('$_POST[overskrift]', '$_POST[forfatter]', '$dato', '$_POST[nyhed]')") or die ("Fejl ved INSERT INTO nyhed: " . mysql_error());;
Int betyder ikke tal, men heltal. 5,9 er ikke int, men det er 6. Int, long, blob, char, bigint m.m. inklusiv deres unsigned er alle det, der kaldes datatyper/datatypes. De fortæller hvor meget plads, der "reserveres" i cellen i tabellen til værdien. Læs om det på http://dev.mysql.com/tech-resources/articles/visual-basic-datatypes.html . Siden er godt på nok engelsk, men det er ikke ret svært at forstå.
Lige under include så der nu står: include("config.php");
$dato = date("Y-m-d");
mysql_query("INSERT INTO nyhed (overskrift, forfatter, dato, nyhed) VALUES ('$_POST[overskrift]', '$_POST[forfatter]', '$dato', '$_POST[nyhed]')") or die ("Fejl ved INSERT INTO nyhed: " . mysql_error());
og ved du noget om iframes? fordi hvis jeg laver en nyhed som er rigtig lang så får min iframe en scroll på width og det vil jeg ikke have.. :/. ved du hvorn man får den til at holde op med det?
mysql_query("INSERT INTO nyhed (overskrift, forfatter, dato, nyhed) VALUES ('$_POST[overskrift]', '$_POST[forfatter]', '$dato', '$_POST[nyhed]')") or die ("Fejl ved INSERT INTO nyhed: " . mysql_error());
Det script indsætter: $_POST[forfatter] i forfatter feltet og da du ikke har et felt i din form som hedder forfatter indsætter den "" altså ingenting.
Som jeg skrev så har du flere valg enten tilføje et felt til din form som hedder forfatter eller fjerne det fra SQL sætningen
I det du viser der er der IKKE sat en fast forfatter, hvis det er i phpMyAdmin du har sat en Standard værdi, og du ønsker at denne bruges skal du fjerne forfatter fra SQL sætningen
Dvs. enten bruge: mysql_query("INSERT INTO nyhed (overskrift, dato, nyhed) VALUES ('$_POST[overskrift]', '$dato', '$_POST[nyhed]')") or die ("Fejl ved INSERT INTO nyhed: " . mysql_error());
eller indsætte i din form: <input name="forfatter" style="width:200px;" maxlength="50">
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.