Tha_Zaynt Skrevet 10. juli 2004 Skrevet 10. juli 2004 (endret) Jeg sitter og prøver å lage en _helt_ basic gjestebok bare for å teste. Den fungerte relativt fint, men jeg har et problem; Når noen skriver en beskjed overwriter de den beskjeden som står dær fra før..Jeg har garantert gjort en skikkelig n00b feil, men ayways..her er koden: <?php $fornavn = $_REQUEST['navn']; $webside = $_REQUEST['webside']; $beskjed = $_REQUEST['beskjed']; echo "<div>Navn: $navn </div>"; echo "<br>"; echo "<div>Webside: $webside</div>"; echo "<br>"; echo "<div>Beskjed: $beskjed</div>"; echo "<p>"; ?> Bare ignorer den overflødige bruken av echo, det fikser jeg senere Endret 10. juli 2004 av Tha_Zaynt
hm87 Skrevet 10. juli 2004 Skrevet 10. juli 2004 Legger du det inn i mysql? Kunne vært fint å sett mer av koden...
LoS Skrevet 10. juli 2004 Skrevet 10. juli 2004 Hvis det er all php koden du bruker, så vil den skrive over det som sto der fra før da teksten ikke blir lagret noe sted. Når du skal se på gjesteboken etter att du har skrevet i den, så vil det ikke stå noe der i det hele tatt. Tror du må utvide scriptet ditt
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 Går det an å lagre info'en i en .db fil?
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 (endret) Nå har jeg utvidet scriptet en del, men jeg få bare Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\steinar\config.php on line 9 <?php // Configuration file $regScript = "reg.php"; // Path to main script. Default: reg.php $formMethod = "post"; // Method for form. Use post or get $pathList = "./les.php"; // Path to les.php $yourname = "Steinar Andersen" //Write your name here // mySQL configuration $mySQLhost = "localhost"; $mySQLuser = "admin"; $mySQLpass = "******"; $mySQLdb = "gb"; $mySQLtable = "gebis"; // Messages $regSuccess = "<a>Takk for at du tok deg tid til å skrive i gjesteboka mi! <p>Mvh. Steinar</p></a>"; $regFailed = "<a>Ditt innlegg ble ikke registrert. Prøv igjen senere!</a>"; ?> info fra phpmyadmin: bruker: admin vert: localhost hva kan være galt her? Endret 10. juli 2004 av Tha_Zaynt
Rescudo Skrevet 10. juli 2004 Skrevet 10. juli 2004 Du mangler et semikolon her: $yourname = "Steinar Andersen" //Write your name here Rett: $yourname = "Steinar Andersen"; //Write your name here
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 hehe, lol. Så ikke den, men hvorfor står det at feilen ligger på linje 9 da?
LoS Skrevet 10. juli 2004 Skrevet 10. juli 2004 Du må som oftests se på linja over, hvis du har glemt en } i en haug med if setninger havner feilen som regel helt nederst i scriptet. Sånn som skjer, php kan ikke vite nøyaktig hvor ting skal være.
Rescudo Skrevet 10. juli 2004 Skrevet 10. juli 2004 (endret) Etter at du har satt en variabal, forventer PHP et semikolon. Hvis den kommer til linje 9 og finner at du ikke har gitt den et semikolon, vil PHP si at feilen er på linje 9, selv om det er linje 8 du har glemt semikolon på. Endret 10. juli 2004 av opix
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 ok, takk for forklaringen. Et spm til; Kan jeg lage en slette-funksjon til gjesteboka mi når jeg lagrer infoen som blir fylt ut i skjemaet i en database?
jorgis Skrevet 10. juli 2004 Skrevet 10. juli 2004 (endret) Fordi PHP-tolkeren blir forvirret først på linjen etter, da den plutselig får en variabel i fanget. ARGH. F5 er en fin knapp, ja. Endret 10. juli 2004 av jorgis
Rescudo Skrevet 10. juli 2004 Skrevet 10. juli 2004 Det er fullt mulig. Jeg foretrekker en slettlink som vises dersom du er innlogget. Hvordan skriver du ut innleggene? while-løkke med mysql_fetch_array?
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 slik henter jeg ut info fra databasen: <?php include("config.php"); // MySQL Connect mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); // Retrieve from database and show it $result = mysql_query("SELECT * FROM $mySQLtable ORDER BY id"); while ($row = mysql_fetch_object($result)) { echo " <div> Navn: ". $row->navn ."<div> <br> <div> Webside: ". $row->webside ."</div> <br> <div> Beskjed: ". $row->beskjed . "</div> <br> <hr>"; } mysql_close() ?>
Rescudo Skrevet 10. juli 2004 Skrevet 10. juli 2004 Hvis du har en session som heter innlogget, kan du gjøre slik: [code] <?php include("config.php"); // MySQL Connect mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); // Retrieve from database and show it $result = mysql_query("SELECT * FROM $mySQLtable ORDER BY id"); while ($row = mysql_fetch_object($result)) { echo " <div> Navn: ". $row->navn ."<div> <br> <div> Webside: ". $row->webside ."</div> <br> <div> Beskjed: ". $row->beskjed . "</div> <br>"; if ($_SESSION['innlogget'] == 1) { echo "<div> [<a href=\"slettinnlegg.php?id=" . $row->id . "\">X</a>]</div> <br>"; } <hr>"; } mysql_close() ?> [/code] I slettinnlegg.php: [code] <?php if ($_SESSION['innlogget'] == 1) { $id = $_GET['id']; if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'")) { echo "Innlegget er slettet."; } else { echo "En feil oppstod."; } } else { echo "Du er ikke logget inn!"; } ?> [/code]
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 (endret) vises alternativet bare når jeg er innlogget? Endret 10. juli 2004 av Tha_Zaynt
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Skrevet 10. juli 2004 (endret) Har du forresten et innloggingsscript liggende, så jeg slipper å lage et fra bunnen av? Endret 10. juli 2004 av Tha_Zaynt
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå