14. juli 2005 - 01:03
Der er
13 kommentarer og 1 løsning
Ret en tekst fra MYSQL database!
Hey Eksperter! Jeg er rimelig ny i php/mysql verdenen og har derfor sidet og bakset lige med et script hvor man kan ændre indholdet i min mysql database - i dette tilfælde en tekst. Men nu er jeg stødt på grund så og sige. Jeg kan ikke finde fejlen i scriptet. retindhold.php ------------- <?php require_once("db.php"); if($_GET['action'] == "skriv") { echo"<font face=\"Verdana\" size=\"1\" color=\"#000000\">Info rettet. <a href=\"visindhold.php\">her</a><font>"; mysql_query("UPDATE velkommen set tekst = '$tekst'"); } else { ?><center> <font face="Verdana" size="1" color="#000000"> <? $res = mysql_query("SELECT * FROM velkommen"); while ($row = mysql_fetch_array($res)) { ?> <form method="post" action="retindhold.php" onsubmit="return checkfields()"> TEKST:<br> <textarea name="tekst" cols="50" rows="10"><? echo''.$row['tekst'].''; ?></textarea> <br><br> <input type="hidden" name="action" value="skriv"> <input type="submit" value="Ret indhold"> </center> </form> </font> <?php } } ?> visindhold.php -------------- <? require_once("db.php"); $res = mysql_query("SELECT * FROM velkommen"); while ($row = mysql_fetch_array($res)) { ?> <font face="Verdana" size="1" color="#000000"> <? echo''.$row['tekst'].''; ?> </font> <?php } ?> Oprettet database ----------------- CREATE TABLE velkommen ( tekst text NOT NULL ) TYPE=MyISAM; Og så selvfølgelig db.php som jeg ikke tror er nødvendig at poste her. Når jeg retter i teksten og trykker ret indhold sker der intet hvorfor? På forhånd tak for hjælpen!
Annonceindlæg fra DE-CIX
Udskriver den en fejlmeddelelse? Prøv at sætte en mysql_query("UPDATE velkommen set tekst = '$tekst'") or die(mysql_error()); i stedet for den nuværende
Det er en post variabel du vil opdatere med. mysql_query("UPDATE velkommen SET tekst = '".$_POST['tekst']."'")
Ja men det er det da også den så jeg absolut ikke kl halv tre i nat da jeg var klar til at dejse i seng efter 3 timers vasketøj :D men det er da klart det der er problemet
Det løste desvære ikke problemet - Der sker stadig intet hvis jeg ændre teksten. Andre bud?
Og den kommer forresten ikke med nogen fejlmeddelser, selv ikke når jeg benytter die(mysql_error());
Prøv at ændre til if($_POST['action'] == "skriv") { echo "Der kommer noget med"; echo"<font face=\"Verdana\" size=\"1\" color=\"#000000\">Info rettet. <a href=\"visindhold.php\">her</a><font>"; mysql_query("UPDATE velkommen set tekst = '".$_POST['tekst'].'"); Mvh Martin
Har således ændret retindhold.php til: <?php require_once("db.php"); if($_POST['action'] == "skriv") { echo "Der kommer noget med"; echo"<font face=\"Verdana\" size=\"1\" color=\"#000000\">Info rettet. <a href=\"visindhold.php\">her</a><font>"; mysql_query("UPDATE velkommen set tekst = '".$_POST['tekst'].'"); } else { ?><center> <font face="Verdana" size="1" color="#000000"> <? $res = mysql_query("SELECT * FROM velkommen"); while ($row = mysql_fetch_array($res)) { ?> <form method="post" action="retvelkommen.php" onsubmit="return checkfields()"> TEKST:<br> <textarea name="tekst" cols="50" rows="10"><? echo''.$row['tekst'].''; ?></textarea> <br><br> <input type="hidden" name="action" value="skriv"> <input type="submit" value="Ret velkommen"> </center> </form> </font> <?php } } ?> Her for jeg følgende fejlmeddedelse: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/home/web/web69713/velkommen/retvelkommen.php on line 18
hovsa min fejl det skulle ha været set tekst=' ".$_POST['tekst']." '
Endnu en fejl dukker op. retindhold.php: <?php require_once("db.php"); if($_POST['action'] == "skriv") { echo "Der kommer noget med"; echo"<font face=\"Verdana\" size=\"1\" color=\"#000000\">Info rettet. <a href=\"visindhold.php\">her</a><font>"; mysql_query("UPDATE velkommen set tekst = ' ".$_POST['tekst']." '); } else { ?><center> <font face="Verdana" size="1" color="#000000"> <? $res = mysql_query("SELECT * FROM velkommen"); while ($row = mysql_fetch_array($res)) { ?> <form method="post" action="retvelkommen.php" onsubmit="return checkfields()"> TEKST:<br> <textarea name="tekst" cols="50" rows="10"><? echo''.$row['tekst'].''; ?></textarea> <br><br> <input type="hidden" name="action" value="skriv"> <input type="submit" value="Ret velkommen"> </center> </form> </font> <?php } } ?> Fejl: Parse error: parse error, unexpected T_STRING in /usr/home/web/web69713/velkommen/retvelkommen.php on line 9
14. juli 2005 - 16:40
#10
der mangler lige en " efter det sidste ' altså mysql_query("UPDATE velkommen set tekst = '".$_POST['tekst']."'"); Det er altid de små ting, men nu må vi så se om den overhovedet kommer ind i den if men det kan jeg da egenlig se at den ikke gør fordi du sender den til retvelkommen.php, men så vidt jeg kan se her skal du sende den til retindhold.php? Mvh Martin
14. juli 2005 - 16:58
#11
Nu virker det! :) Mange tak for hjælpen. Du får selvfølgelig pointsne.
14. juli 2005 - 17:00
#12
.
14. juli 2005 - 17:01
#13
Hov kan ikke points medmindre du benytter dig af "svar" muligheden.
14. juli 2005 - 17:03
#14
Glad for du fik det til at virke :) Her kommer et svar fra mig Mvh martin
Computerworld tilbyder specialiserede kurser i database-management