Avatar billede mr.t.man Nybegynder
07. januar 2004 - 20:05 Der er 17 kommentarer og
1 løsning

Gæstebog i PHP

Hej, jeg er ved at lave en gæstebog..
Jeg har to problemer!
1. Jeg kan ikke tilføje noget i databasen via formularen
2. Den udskriver ikke $data[2], men kommer med denne fejl: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /customers/thomas-k.dk/thomas-k.dk/httpd.www/gaestebog.php on line 30

Koden:
----------
<?
$db = mysql_connect("localhost", "XXXXXX", "XXXXXX");
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, overskrift, dato, besked) VALUES ('$navn', '$email', '$overskrift', '$dato', '$besked')");
}  ?>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">
Navn: <input type="text" name="navn"><br>
E-mail: <input type="text" name="email"><br>
Overskrift: <input type="text" name="overskrift"><br>
Besked: <textarea name="besked" cols="30" rows="5"></textarea><br>
<input type="submit" value="send">
</form>
<br><br>
<?
$foresp = mysql_query("SELECT navn, email, overskrift, dato, besked FROM gbog ORDER BY id DESC");
while($data = mysql_fetch_row($foresp)){
echo "$data[2]<br><br>";
} ?>
---------

Nogle der kan hjælpe?

/mr.t.man
Avatar billede riversen Nybegynder
07. januar 2004 - 20:11 #1
prøv if( isset( $_POST["skriv"] ) )
Avatar billede riversen Nybegynder
07. januar 2004 - 20:13 #2
og så er det nok rarere med

$data = mysql_fetch_array( $foresp )

så kan du nemlig bruger $data["kolonnenavn"] istedet for index
Avatar billede riversen Nybegynder
07. januar 2004 - 20:14 #3
mht. 2 så prøv $foresp = mysql_query("SELECT id, navn, email, overskrift, dato, besked FROM gbog ORDER BY id DESC");
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 20:23 #4
Min kode ser nu sådan ud:
---------
<?
$db = mysql_connect("localhost", "XXXXXX", "XXXXXX");
mysql_select_db("gbog", $db);
if( isset( $_POST["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, overskrift, dato, besked) VALUES ('$navn', '$email', '$overskrift', '$dato', '$besked')");
}  ?>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">
Navn: <input type="text" name="navn"><br>
E-mail: <input type="text" name="email"><br>
Overskrift: <input type="text" name="overskrift"><br>
Besked: <textarea name="besked" cols="30" rows="5"></textarea><br>
<input type="submit" value="send">
</form>
<br><br>
<?
$foresp = mysql_query("SELECT id, navn, email, overskrift, dato, besked FROM gbog ORDER BY id DESC");
$data = mysql_fetch_array( $foresp )

# while($data = mysql_fetch_row($foresp)){
echo "$data[navn]<br><br>";
} ?>
----------
Nu skriver den fejlen:
Parse error: parse error, unexpected T_ECHO in /customers/thomas-k.dk/thomas-k.dk/httpd.www/gaestebog.php on line 33    og ikke andet...
Avatar billede riversen Nybegynder
07. januar 2004 - 20:25 #5
ja men du ha rjo heller ikke rettet til mysql_fetch_array
Avatar billede riversen Nybegynder
07. januar 2004 - 20:26 #6
while($data = mysql_fetch_array($foresp)){
echo $data["navn"] . "<br><br>";
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 20:36 #7
det har jeg udskiftet nu, men der er stadig fejl: Parse error: parse error, unexpected T_WHILE in /customers/thomas-k.dk/thomas-k.dk/httpd.www/gaestebog.php on line 32
Avatar billede riversen Nybegynder
07. januar 2004 - 20:43 #8
kan jeg få noget kode...
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 20:49 #9
<?
$db = mysql_connect("localhost", "XXXXXX", "XXXXXX");
mysql_select_db("gbog", $db);
if( isset( $_POST["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, overskrift, dato, besked) VALUES ('$navn', '$email', '$overskrift', '$dato', '$besked')");
}  ?>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">
Navn: <input type="text" name="navn"><br>
E-mail: <input type="text" name="email"><br>
Overskrift: <input type="text" name="overskrift"><br>
Besked: <textarea name="besked" cols="30" rows="5"></textarea><br>
<input type="submit" value="send">
</form>
<br><br>
<?
$foresp = mysql_query("SELECT id, navn, email, overskrift, dato, besked FROM gbog ORDER BY id DESC");
$data = mysql_fetch_array( $foresp )

while($data = mysql_fetch_array($foresp)){
echo $data["navn"] . "<br><br>";
} ?>
Avatar billede riversen Nybegynder
07. januar 2004 - 20:50 #10
slet $data = mysql_fetch_array( $foresp ) lige før while løkken
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 20:56 #11
Nu har jeg slettet $data = mysql_fetch_array( $foresp )
Den siger stadig samme fejl, med parse error på line 32.
Det er altså noget med while($data = mysql_fetch_array($foresp)){  ..som ikke rigtigt fungerer...
Avatar billede riversen Nybegynder
07. januar 2004 - 20:58 #12
send kode og fejlbesked igen
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 21:00 #13
<?
$db = mysql_connect("localhost", "XXXXXX", "XXXXXX");
mysql_select_db("gbog", $db);
if( isset( $_POST["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, overskrift, dato, besked) VALUES ('$navn', '$email', '$overskrift', '$dato', '$besked')");
}  ?>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">
Navn: <input type="text" name="navn"><br>
E-mail: <input type="text" name="email"><br>
Overskrift: <input type="text" name="overskrift"><br>
Besked: <textarea name="besked" cols="30" rows="5"></textarea><br>
<input type="submit" value="send">
</form>
<br><br>
<?
$foresp = mysql_query("SELECT id, navn, email, overskrift, dato, besked FROM gbog ORDER BY id DESC");


while($data = mysql_fetch_array($foresp)){
echo $data["navn"] . "<br><br>";
} ?>

Parse error: parse error, unexpected T_WHILE in /customers/thomas-k.dk/thomas-k.dk/httpd.www/gbog.php on line 32
Avatar billede riversen Nybegynder
07. januar 2004 - 21:12 #14
og linie 32 er while løkken? jeg er vidst ved at være kodeblind
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 21:13 #15
hehe... ja, det er det...
Avatar billede riversen Nybegynder
07. januar 2004 - 21:18 #16
jeg gir op
Avatar billede riversen Nybegynder
07. januar 2004 - 21:18 #17
har du prøvet at lukke browseren og prøve forfra...gemt filen
Avatar billede mr.t.man Nybegynder
07. januar 2004 - 21:22 #18
ja, flere gange... og (selvfølgelig) har jeg også gemt ;)
Men tak for hjælpen - jeg tror jeg begynder helt forfra med en gæstebog..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester