|
| Gæstebog virker ikke :( Fra : kbisgaard | Vist : 841 gange 183 point Dato : 22-03-09 14:48 |
|
Hej alle
Jeg har købt et hæfte ved navn "Start på PHP", og er kommet til et afsnit, som beskriver detaljeret hvordan man skriver sin egen gæstebog, men jeg kan simpelthen ikke få den til at virke.
Kode <html>
<head><TITLE> Min gæstebog</TITLE></head>
<body>
<?
$db = mysql_connect("localhost", "just2cool_dk", "just2cool_dk");
mysql_select_db("gbog", $db);
if($skriv){
$besked = str_replace("\n", "<BR>", $besked);
$dato_array = getdate();
$dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
mysql_query("INSERT INTO gbog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')");
}
?>
<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
<INPUT TYPE=hidden NAME=skriv VALUE=1>
navn: <INPUT TYPE=text NAME=navn><BR>
email: <INPUT TYPE=text NAME=email><BR>
<TEXTAREA NAME=besked COLS=30 ROWS=5></TEXTAREA><BR>
<INPUT TYPE=submit VALUE="send">
</FORM>
<BR><BR>
<TABLE>
<?
$foresp = mysql_query("SELECT navn, email, dato, besked FROM gbog ORDER BY nr DESC");
while($data = mysql_fetch_row($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "fra:<A HREF=\mailto:$data[1]\">$data[0]</A>";
echo "<BR>$data[2]";
echo "</TD><TD VALIGN=TOP>$data[3]</TD></TD>";
}
?>
</TABLE>
</CENTER>
</body>
</html> |
Og jeg har oprettet følgende tabel i min MySQL database med navnet gbog:
nr: sat til type: INT extra: auto_increment og primary key
navn: sat til type: tinytext
email: sat til type: tiny text
dato: sat til type: tiny text
besked: sat til type: text
Nogen der kan hjælpe med at finde problemet?
| |
|
Hvilken fejlmedelelse kommer der?
| |
| Kommentar Fra : kbisgaard |
Dato : 22-03-09 16:22 |
|
Jeg får bare en side med 3 input felter og en send knap. Men der ikke andet når jeg sender end at siden opdaterer og vender tilbage som den var før.
| |
| Kommentar Fra : ans |
Dato : 22-03-09 16:23 |
| | |
| Kommentar Fra : kbisgaard |
Dato : 22-03-09 16:30 |
|
Så er det gjort ans.
Har hævet point præmien i dette spørgsmål :)
Bisgaard
| |
|
Prøv at tilføje følgende:
[kode]
$skriv = 1;
$besked = $_POST["besked"];
$navn = $_POST["navn"];
$dato = $_POST["dato"];
$email = $_POST["email"];
[/kode]
lige før
[kode]
if($skriv){
[/kode]
| |
| Kommentar Fra : kbisgaard |
Dato : 22-03-09 16:47 |
|
Gjorde ikke nogen forskel :/
Her er linket til gæstebogen www.just2cool.dk/gb.php
| |
|
Hvis du tilføjer koden;
Kode echo "<br>NAVN: ".$navn;
echo "<br>EMAIL: ".$email;
echo "<br>BESKED: ".$besked; |
lige før "if($skriv)", så kan vi se, hvilke "værdier" disse variable har.
Jeg antager, at disse af en eller anden grund ikke blier tildelt rigtigt.
| |
| Kommentar Fra : kbisgaard |
Dato : 22-03-09 16:56 |
|
Prøv at gå ind på gæstebogen og test den. Nu kommer de rigtige værdier frem, men de bliver ikke gemt i databasen, så de er kun synlige den ene gang.
| |
|
hmmm, det ser jo (desværre ;) rigtigt nok ud...
Prøv at indsætte
echo "<br>FORESP: ".$foresp;
$data = mysql_fetch_row($foresp);
echo "<br>DATA 0: ".$data[0];
ligefør "while($data = mysql_fetch_row($foresp)){"
Så kan vi se om data kommer rigtigt ud fra databasen.
| |
|
Prøv at tilføje:
echo "<br>DATO: ".$dato;
ligefør "mysql_query("INSERT INTO gbog ...."
| |
| Kommentar Fra : kbisgaard |
Dato : 22-03-09 17:06 |
|
Så er det gjort, men ser stadig ikke ud til, at det virker.
| |
| Accepteret svar Fra : lunalovegood | Modtaget 183 point Dato : 22-03-09 17:11 |
|
Nu er fejlen da elimineret til linien:
"mysql_query("INSERT INTO gbog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')");"
Jeg har overhovedet ikke erfaring i mysql så jeg har svært ved at hjælpe dig videre herfra, desværre.
Tjek at linierne:
$db = mysql_connect("localhost", "just2cool_dk", "just2cool_dk");
mysql_select_db("gbog", $db);
er korrekt. Du kunne måske prøve at se, hvilken værdi "$db" har.
| |
| Godkendelse af svar Fra : kbisgaard |
Dato : 22-03-09 18:11 |
|
Tak for svaret lunalovegood.
| |
| Kommentar Fra : stone47 |
Dato : 23-03-09 20:21 |
|
jeg synes linien der forbinder il databasen bruger både localhost og2 gange just2cool 2 gange
skal du ikke bruge .dk for at give serveren og hvad bruger du ??
jeg har ikke prøvet dit af, jeg har selv lavet et par gbooks for et par år siden.
det er godt at bruge PhpMyadmin til at finde databasen og se om der kommer noget i den.
jeg har serveren her i kælderen så apache og mysql ligger på samme maskine det er lidt nemmere.
min Hjemmeside er lavet i my fusion og bruger sin egen database med en frygtelig mængde tabeller et funker fint.
havde også lavet gallery på den samme maskine med database men er vendt tilbage til den gamle uden database ,
pøj pøj hilsen Steen http://stoneplace.dk
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|