28. april 2005 - 15:54Der er
16 kommentarer og 2 løsninger
Gæstebogs-administration
Jeg er igang med at lave en admin-sektion til min hjemmeside, og jeg er løbet ind i et lille problem med hensyn til gæstebogs-administrationen. Her er de fire sider, og de tilhørende errors, som jeg får.
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /customers/darkcloud.dk/darkcloud.dk/httpd.www/animepark/madskjaer/admin/admin_gaestebog.php on line 11
$deleteSQL = "delete from gaestebog WHERE navn=$navn and tid=$tid limit 1"; mysql_query($deleteSQL);
echo "<br>Hvis ingen fejl meddeles, er beskeden slettet fra gæstebogen."; ?> <br><a href="forside.php?id=content_gaestebog.php">Til gæstebogen</a> <?php mysql_close($conn); ?>
Scriptet sletter ikke beskeden.
ADMIN_GAESTEBOG_EDIT_SKRIV.PHP <table style="background-color:#41506D;width:100%;"><tr><td><b><span class="b">Administration</span></b></span></td></tr></table> Denne side giver dig mulighed for at ændre i den valgte besked. <?php $navn = $_GET['navn']; $tid = $_GET['tid'];
Parse error: parse error, unexpected T_VARIABLE in /customers/darkcloud.dk/darkcloud.dk/httpd.www/animepark/madskjaer/admin/admin_gaestebog_edit_skriv.php on line 15
$updateSQL = "update gaestebog set navn=$nytnavn, hjemmeside=$hjemmeside, tid=$nytid, besked=$besked WHERE navn=$navn and tid=$tid"; mysql_query($updateSQL);
echo "<br>Hvis ingen fejl meddeles, er beskeden rettet."; ?> <br><a href="forside.php?id=content_gaestebog.php">Til gæstebogen</a> <?php mysql_close($conn); ?>
Scriptet redigerer ikke noget. Måske er det en lidt stor opgave, men jeg håber i kan hjælpe.
Noget af det kan vi vel se på Din form bruger method="post" derfor skal du i ADMIN_GAESTEBOG_SLET.PHP ikke bruge $navn = $_GET['navn']; $tid = $_GET['tid']; men $navn = $_POST['navn']; $tid = $_POST['tid'];
i denne her mangler du ; efter nogle linjer... sådan her --- ADMIN_GAESTEBOG_EDIT_SKRIV.PHP <table style="background-color:#41506D;width:100%;"><tr><td><b><span class="b">Administration</span></b></span></td></tr></table> Denne side giver dig mulighed for at ændre i den valgte besked. <?php $navn = $_GET['navn']; $tid = $_GET['tid'];
prøv rette lidt af det og se hvad der så kommer af meddelelser De steder hvor der ingen fejl kommer og der enten ikke indsættes, opdateres eller slettes Prøv da at lave et echo på den sql sætning..så kan du måske se om variablene slet ikke kommer med eller lign
der hvor din form går hen "<form action='forside.php?id=admin_gaestebog_edit.php' method='post'>"; der postes dine felter fordi du har valgt method='post' Så på siden 'forside.php?id=admin_gaestebog_edit.php' Kan du ikke hente noget som helst fra formens felter med GET...
så jeg skrev forkert...troede den gik til slet...men den går til edit Så i din edit skal alle get rettes til post Men mindre du vil sende variable over url... Så skal din form rettes til "<form action='forside.php?id=admin_gaestebog_edit.php' method='get'>";
tjo.. men du bruger jo $REQUIRE Hvis man specificerer det så er det bedst...det har jeg lært et og andet sted Hvis du bare laver en $_REQUEST så ved den jo ikke hvor at lede så at lave en $_POST vil hjælpe den på rette vej Måske når man laver en $_REQUEST den så først går url igennem for at finde get variable... :o) Så jeg vil da foreslå at bruge $_POSt når du poster
jeg vil mene den nederste skal se sådan her ud: ---------- ADMIN_GAESTEBOG_EDIT.PHP <table style="background-color:#41506D;width:100%;"><tr><td><b><span class="b">Administration</span></b></span></td></tr></table> <?php
$updateSQL = "update gaestebog set navn=$nytnavn, hjemmeside=$hjemmeside, tid=$nytid, besked=$besked WHERE navn=$_GET['navn'] and tid=$_GET['tid']"; mysql_query($updateSQL);
echo "<br>Hvis ingen fejl meddeles, er beskeden rettet."; ?> <br><a href="forside.php?id=content_gaestebog.php">Til gæstebogen</a> <?php mysql_close($conn); ?>
det er egentlig også noget hø det du har med en update at referere til tider og navne Du har vel i din tabel et unikt id? I din form laver du så et <input type="hidden" value=$vis['id']> I din update tjekker du så på id i stedet $updateSQL = "update gaestebog set navn=$nytnavn, hjemmeside=$hjemmeside, tid=$nytid, besked=$besked WHERE id=$_POST['id']";
Jeg er tilfreds med det du synes er fair.. troede blot på det sidste at det virkede...men ok :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.