27. maj 2004 - 18:51
Der er
11 kommentarer og 1 løsning
hvordan henter man et id
Hej eksperter. Jeg har en side som har nogle links som hedder information.php?id=1 , information.php?id=2, information.php?id=3 osv osv osv når man så trykker skal den komme videre til siden information med linket. så henter den id og smider det ind i textboxen. men den gider ikke rigtig rente og gemme som den skal. Den skal skrive når id'et ikke findes og når man finder et id der findes om der er skrevet noget i .. gider den ikke gemme det.. vil i være søde og se om i kan se fejlen :(? <?php require "db.php"; ?> <?php if( isset($_GET['id']) ) { $id = mysql_escape_string($_GET['id']); // sikre id $sql = "SELECT navn, tekst FROM info WHERE id={$id}"; $res = mysql_query($sql);// or die(mysql_error()); if( $res ) $row = mysql_fetch_array($res); else $row = false; } else { $row = false; } ?> <?php if (isset($_POST['info'])) { $info = addslashes($_POST['info']); $id = intval($_POST['id']); mysql_query("UPDATE info set info='$info' WHERE id={$id}'") or die(mysql_error()); echo "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>$_POST[navn] blev opdagteret.</div>"; } ?> <form action="information.php" method="post"> <div align="center"> <?php if( $row ) { ?> <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>"> <br> <table width="215" border="0" cellpadding="0" cellspacing="0" height="164" class="tekst_normal"> <tr> <td height="18" background="pic/menu4.jpg"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Tekst på <?=$row[navn]?> :</font></td> </tr> <tr> <td height="19" class="tekst_fed"><textarea name="forside" rows="8" cols="30" class="box"><?php echo $row['tekst']; ?></textarea> </td> </tr> </table> <input type="submit" value="Gem Ændringer" class="submit"> </div> </form> <?php } ?>
Annonceindlæg fra QNAP
Har ikke den store forstand på php - har faktisk aldrig brugt det, så mit bud bliver et rent gæt: if( isset($_GET[id]) ) { $id = mysql_escape_string($_GET[id]); // sikre id $sql = "SELECT navn, tekst FROM info WHERE id={$id}"; $res = mysql_query($sql);// or die(mysql_error()); if( $res ) $row = mysql_fetch_array($res); else $row = false; } else { $row = false; } Altså uden '-tegnene... Ved ikke om det er det, men er bare et rent 100% tilfældigt gæt... /MiReiGi
nu har jeg pillet lidt ved siden. så nu ser den sådan her ud: <?php require "db.php"; ?> <?php if( isset($_GET['id']) ) { $id = mysql_escape_string($_GET['id']); // sikre id $sql = "SELECT navn, tekst FROM info WHERE id={$id}"; $res = mysql_query($sql);// or die(mysql_error()); if( $res ) $row = mysql_fetch_array($res); else $row = false; } else { $row = false; } ?> <?php if (isset($_POST['info'])) { $info = addslashes($_POST['info']); $id = intval($_POST['id']); mysql_query("UPDATE info set tekst=$tekst WHERE id={$id}") or die(mysql_error()); echo "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>$_POST[navn] blev opdagteret.</div>"; } ?> <form action="<? $PHP_SELF ?>" method="post"> <div align="center"> <?php if( $row ) { ?> <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>"> <br> <table width="215" border="0" cellpadding="0" cellspacing="0" height="164" class="tekst_normal"> <tr> <td height="18" background="pic/menu4.jpg"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Tekst på <?=$row[navn]?> :</font></td> </tr> <tr> <td height="19" class="tekst_fed"><textarea name="tekst" rows="8" cols="30" class="box"><?php echo $row['tekst']; ?></textarea> </td> </tr> </table> <input type="submit" value="Gem Ændringer" class="submit"> </div> </form> <?php } else { ?> <!-- dette bliver skrevet ud, hvis rækken ikke findes, eller ID ikke er angivet --> <table width="451" height="8" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="26"><center> Id'et findes ikke</center></td> </tr> </table> <?php } ?> Den henter fint informationen .. men den kan ikke ændre det når jeg trykker gem ??
if (isset($_POST['info'])) { $info = addslashes($_POST['info']); til noget i retningen af, da dit textarea hedder tekst: if (isset($_POST['tekst'])) { $tekst = addslashes($_POST['tekst']); <form action="<? $PHP_SELF ?>" method="post"> til <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
der skete noget.. men nu siger den: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''Man har desværre ikke mulighed for at afhente tingene man har.."
den fejl fik jeg væk .. der manglede lige ' et par steder.. nu siger den: blev opdagteret. Id'et findes ikke men stadig bliver der ikke gemt noget :/.. site update: <?php require "db.php"; ?> <?php if( isset($_GET['id']) ) { $id = mysql_escape_string($_GET['id']); // sikre id $sql = "SELECT navn, tekst FROM info WHERE id={$id}"; $res = mysql_query($sql);// or die(mysql_error()); if( $res ) $row = mysql_fetch_array($res); else $row = false; } else { $row = false; } ?> <?php if (isset($_POST['tekst'])) { $tekst = addslashes($_POST['tekst']); $id = intval($_POST['id']); mysql_query("UPDATE info set tekst='$tekst' WHERE id='{$id}'") or die(mysql_error()); echo "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>$navn blev opdagteret.</div>"; } ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <div align="center"> <?php if( $row ) { ?> <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>"> <br> <table width="215" border="0" cellpadding="0" cellspacing="0" height="164" class="tekst_normal"> <tr> <td height="18" background="pic/menu4.jpg"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Tekst på <?=$row[navn]?> :</font></td> </tr> <tr> <td height="19" class="tekst_fed"><textarea name="tekst" rows="8" cols="30" class="box"><?php echo $row['tekst']; ?></textarea> </td> </tr> </table> <input type="submit" value="Gem Ændringer" class="submit"> </div> </form> <?php } else { ?> <!-- dette bliver skrevet ud, hvis rækken ikke findes, eller ID ikke er angivet --> <table width="451" height="8" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="26"><center> Id'et findes ikke</center></td> </tr> </table> <?php } ?>
ingen der kan hjælpe mig .. plz? :((
update igen. <?php if (isset($_POST['tekst'])) { $tekst = addslashes($_POST['tekst']); $id = intval($_POST['id']); mysql_query("UPDATE info set tekst='$_POST[tekst]' WHERE id='{$id}'") or die(mysql_error()); echo "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>$row[navn] blev opdagteret.</div>"; } ?> <form action="<? $PHP_SELF ?>" method="post"> <div align="center"> <?php if( $row ) { ?> <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>"> <br> <table width="215" border="0" cellpadding="0" cellspacing="0" height="164" class="tekst_normal"> <tr> <td height="18" background="pic/menu4.jpg"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Tekst i <?=$row[navn]?> :</font></td> </tr> <tr> <td height="19" class="tekst_fed"><textarea name="tekst" rows="8" cols="30" class="box"><?php echo $row['tekst']; ?></textarea> </td> </tr> </table> <input type="submit" value="Gem Ændringer" class="submit"> </div> </form> <?php } else { ?> <!-- dette bliver skrevet ud, hvis rækken ikke findes, eller ID ikke er angivet --> <table width="451" height="8" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="26"><center> Id'et findes ikke</center></td> </tr> </table> <?php } ?> nu viser boxen når jeg har trykket gem, og den skriver at der er opgraderet.. men det bliver der ikke .. hvorfor !!??
Hvordan får du denne? <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>"> og jeg ville bruge: mysql_query("UPDATE `info` SET `tekst` = '". $tekst ."' WHERE `id` = '". $_POST["id"] ."'") or die(mysql_error());
det virker heller ikke noget :( godt nok træls.. skal der noget med $_GET ind nogle steder?
er der virkelig ingen fejl der kan ses hehe
intet virker. jeg laver en ny tråd skal have det her til at virke !! -lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling