11. juli 2008 - 13:27
Der er
14 kommentarer og 2 løsninger
Updater indhold i database
Nogen der kan finde fejlen i nedenstående? Når jeg klikker submit opdaterer den ikke indholdet, den går bare tilbage til sin grundform PFT (og hvorfor er der ikke en funktion så koden bliver liiidt flottere formateret her på eksperten..?) <?php include ("dbconn.php"); if(!isset($cmd)) { $result = mysql_query("select * from kalender order by id"); while($r=mysql_fetch_array($result)) { $navn=$r["navn"]; $id=$r["id"]; echo "<a href='edit02.php?cmd=edit&id=$id'>$navn - Edit</a>"; echo "<br>"; } } ?> <? if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM kalender WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); ?> <form action="edit02.php" method="post"> <input type=hidden name="id" value="<?php echo $myrow["id"] ?>"> Title:<INPUT TYPE="TEXT" NAME="title" VALUE="<?php echo $myrow["navn"] ?>" SIZE=30><br> Message:<TEXTAREA NAME="message" ROWS=10 COLS=30><? echo $myrow["indhold"] ?></TEXTAREA><br> Who:<INPUT TYPE="TEXT" NAME="who" VALUE="<?php echo $myrow["dato"] ?>" SIZE=30><br> <input type="hidden" name="cmd" value="edit"> <input type="submit" name="submit" value="submit"> </form> <? } ?> <? if ($_POST["$submit"]) { $navn = $_POST["navn"]; $indhold = $_POST["indhold"]; $dato = $_POST["dato"]; $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo "indhold opdateret."; } } ?>
Annonceindlæg tema
Prøv denne: <?php include ("dbconn.php"); if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['navn']); $indhold = mysql_real_escape_string($_POST['indhold']); $dato = mysql_real_escape_string($_POST['dato']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo "indhold opdateret."; } if(!isset($_GET['cmd'])) { $result = mysql_query("select * from kalender order by id"); while($r=mysql_fetch_array($result)) { $navn=$r["navn"]; $id=$r["id"]; echo "<a href='edit02.php?cmd=edit&id=$id'>$navn - Edit</a>"; echo "<br>"; } } if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM kalender WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); ?> <form action="edit02.php" method="post"> <input type=hidden name="id" value="<?php echo $myrow["id"] ?>"> Title:<INPUT TYPE="TEXT" NAME="title" VALUE="<?php echo $myrow["navn"] ?>" SIZE=30><br> Message:<TEXTAREA NAME="message" ROWS=10 COLS=30><? echo $myrow["indhold"] ?></TEXTAREA><br> Who:<INPUT TYPE="TEXT" NAME="who" VALUE="<?php echo $myrow["dato"] ?>" SIZE=30><br> <input type="hidden" name="cmd" value="edit"> <input type="submit" name="submit" value="submit"> </form> <? } } ?>
og her en lidt kortere version: <?php include ("dbconn.php"); if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['navn']); $indhold = mysql_real_escape_string($_POST['indhold']); $dato = mysql_real_escape_string($_POST['dato']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo 'Indhold opdateret.'; } if($_REQUEST['cmd']=='edit') { $id = $_GET["id"]; $sql = "SELECT * FROM kalender WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); echo '<form action="edit02.php" method="post">'; echo '<input type=hidden name="id" value="'.$myrow['id'].'">'; echo 'Title:<input type="text" name="title" value="'.$myrow['navn'].'" size="30"><br>'; echo 'Message:<textarea name="message" rows="10" cols="30">'.$myrow['indhold'].'</textarea><br>'; echo 'Who:<input type="text" name="who" value="'.$myrow['dato'].'" size="30"><br>'; echo '<input type="hidden" name="cmd" value="edit">'; echo '<input type="submit" name="submit" value="submit">'; echo '</form>'; }else{ $result = mysql_query("SELECT * FROM kalender ORDER BY id"); while($r=mysql_fetch_array($result)){ echo '<a href="edit02.php?cmd=edit&id='.$r['id'].'">'.$r['navn'].' - Edit</a><br />'; } } ?>
hej jakokdo, tak for input den opdaterer desværre stadig ikke indholdet :(
Prøv lige at tilføj: $result = mysql_query($sql) or die(mysql_error());
jakobs if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['navn']); $indhold = mysql_real_escape_string($_POST['indhold']); $dato = mysql_real_escape_string($_POST['dato']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo 'Indhold opdateret.'; } bør nok være if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['navn']); $indhold = mysql_real_escape_string($_POST['indhold']); $dato = mysql_real_escape_string($_POST['dato']); $id = intval($_POST['id']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo 'Indhold opdateret.'; } Eller tager jeg fejl? (id tilføjet)
når jeg tager id-feltet med, bliver indholdet opdateret, men med blankt indhold?
Prøv at rette: if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['navn']); $indhold = mysql_real_escape_string($_POST['indhold']); $dato = mysql_real_escape_string($_POST['dato']); $id = intval($_POST['id']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo 'Indhold opdateret.'; } Til: if(isset($_POST['submit'])){ $navn = mysql_real_escape_string($_POST['title']); $indhold = mysql_real_escape_string($_POST['message']); $dato = mysql_real_escape_string($_POST['who']); $id = intval($_POST['id']); $sql = "UPDATE kalender SET navn='$navn',indhold='$indhold',dato='$dato' WHERE id=$id"; $result = mysql_query($sql); echo 'Indhold opdateret.'; }
Det lyder som om at det er forkerte felter... prøv at sætte følgende ind før "$sql =" echo "<pre>";var_dump( $_POST ); die; og se hvad den skriver - title, message og who skal være sat til hhv navn, indhold og dato...
hov ja, supersquirrel har den :P
12. juli 2008 - 12:16
#10
Hehe ;o)
12. juli 2008 - 13:01
#11
haha... her går man og tænker så stort, og så er svaret lige foran en :D MANGE tak for hjælpen, smid et svar!
12. juli 2008 - 22:54
#12
Ikke til mig - ellers tak =D Giv dem til coderdk eller jakobdo
15. juli 2008 - 17:51
#13
jakobdo & coderdk - smid et svar :)
15. juli 2008 - 21:33
#14
'sgo :)
15. juli 2008 - 21:52
#15
Svar!
18. juli 2008 - 23:36
#16
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling