/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gæstebog virker ikke :(
Fra : kbisgaard
Vist : 854 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?

 
 
Kommentar
Fra : lunalovegood


Dato : 22-03-09 16:20

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

Slet dette spørgsmål før nogen svarer og du får dine point retur

http://www.kandu.dk/spg133919.aspx

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

Kommentar
Fra : lunalovegood


Dato : 22-03-09 16:44

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

Kommentar
Fra : lunalovegood


Dato : 22-03-09 16:52

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.


Kommentar
Fra : lunalovegood


Dato : 22-03-09 16:58

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.





Kommentar
Fra : lunalovegood


Dato : 22-03-09 17:00




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.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste