Just nu i M3-nätverket
Gå till innehåll

varför funkar inte denna gästbok?


Grains

Rekommendera Poster

Hej. Har ett gästboks script i .php som jag inte får att funka. Det ser ut såhär:

 

[log]

<H1>Gästbok för klanmedlemmar</H1>

<HR>

<!-- Allt här ovan kan du lätt redigera så att det passar din

hemsida - nu börjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet här ovan stämmer med den textfil du gjort

 

if ($name) {

$message = str_replace("<", "&lt;", $message);

$message = str_replace(">", "&gt;", $message);

$message = str_replace("\n", "<br>\n", $message);

 

// Se till att http:// finns i url:en.

if (!(substr($url, 0, 7) == "http://"'>http://"))

 

$url = "http://" . $url;

 

// Öppna filen i "append"-läge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Från: <b>$name</b><br>\n");

fwrite($fd, $message);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// Öppna filen i "read"-läge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

// se till att filnamnet ovan är korrekt.

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type=text size=50 name=name class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="Lägg till!">

</FORM>

[/log]

 

Och det ser ut såhär på sidan: http://themasters.1go.dk/guestbook.php

 

Problemet är att det inte händer något när man klickar på "lägg till" som ni kanske märker. Varför? Har en fil som heter "guestbook.txt" på webbhotellet. Och varför står det på sidan "se till att filnamnet är korekt".

Är väl huvudsidan som skall heta "guestbook.php", eller skall man ha fler dokument än dessa två(guestbook.php och guestbook.txt)?

 

Stort tack på förhand ! !

Obs: scriptet kommer ifrån: http://internetworld.idg.se/tjanster/webbskolan/php/2_kod.asp

 

//Templar

 

Länk till kommentar
Dela på andra webbplatser

Testa att byta ut $message mot $_POST['message'] och $name mot $_POST['name'].

 

OBS: Mycket viktigt med versaler!!!

 

Dessutom är inte // ett kommentartecken i HTML, men det är ju en småsak i sammanhanget.

 

<!-- Kommentar -->

 

[inlägget ändrat 2004-09-17 16:50:13 av lizardKng]

Länk till kommentar
Dela på andra webbplatser

Testa att byta ut $message mot $_POST['message'] och $name mot $_POST['name'].

 

Testade det, men sidan vill över huvud taget inte visas då(är helt vit - http://themasters.1go.dk/guestbook.php), koden ser ut såhär vid skyssteringen:

 

[log]

<H1>Gästbok för klanmedlemmar</H1>

<HR>

<!-- Allt här ovan kan du lätt redigera så att det passar din

hemsida - nu börjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet här ovan stämmer med den textfil du gjort

 

if ($_POST['name']) {

$_POST['message'] = str_replace("<", "&lt;", $_POST['message']);

$_POST['message'] = str_replace(">", "&gt;", $_POST['message']);

$_POST['message'] = str_replace("\n", "<br>\n", $_POST['message']);

 

// Se till att http:// finns i url:en.

if (!(substr($url, 0, 7) == "http://"'>http://"))

 

$url = "http://" . $url;

 

// Öppna filen i "append"-läge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Från: <b>$_POST['name']</b><br>\n");

fwrite($fd, $_POST['message']);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// Öppna filen i "read"-läge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

// se till att filnamnet ovan är korrekt.

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type=text size=50 name=name class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="Lägg till!">

</FORM>

[/log]

 

Någon som vet vad felet är?

 

//Templar

 

Länk till kommentar
Dela på andra webbplatser

Testa det här:

 

[log]<H1>Gästbok för klanmedlemmar</H1>

<HR>

<!-- Allt här ovan kan du lätt redigera så att det passar din

hemsida - nu börjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet här ovan stämmer med den textfil du gjort

 

if ($name) {

$message = str_replace("<", "&lt;", $message);

$message = str_replace(">", "&gt;", $message);

$message = str_replace("\n", "<br>\n", $message);

 

// Se till att http:// finns i url:en.

if (!(substr($url, 0, 7) == "http://"'>http://"))

 

$url = "http://" . $url;

 

// Öppna filen i "append"-läge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Från: <b>$name</b><br>\n");

fwrite($fd, $message);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// Öppna filen i "read"-läge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

// se till att filnamnet ovan är korrekt.

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type=text size=50 name=name class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="Lägg till!">

</FORM>[/log]

 

Länk till kommentar
Dela på andra webbplatser

Testa det här:

 

[log]<H1>G�ästbok f�ör klanmedlemmar</H1>

<HR>

<!-- Allt h�är ovan kan du l�ätt redigera s�å att det passar din

hemsida - nu b�örjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet h�är ovan st�ämmer med den textfil du gjort

 

if(isset($namn)) {

$message = str_replace("<", "&lt;", $message);

$message = str_replace(">", "&gt;", $message);

$message = str_replace("\n", "<br>\n", $message);

 

// Se till att http:// finns i url:en.

// if (!(substr($url, 0, 7) == "http://"'>http://"))

// $url = "http://" . $url;

 

// �Öppna filen i "append"-l�äge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Fr�ån: <b>$namn</b><br>\n");

fwrite($fd, $message);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// �Öppna filen i "read"-l�äge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

<!-- se till att filnamnet ovan �är korrekt. -->

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type="text" size=50 name="namn" class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="L�ägg till!">

</FORM>[/log]

 

 

Länk till kommentar
Dela på andra webbplatser

Hmm, fungerade inte heller. Testade båda. Men nu ser det iaf ut sähär(som det senare inlägget):

 

[log]

<H1>G�ästbok f�ör klanmedlemmar</H1>

<HR>

<!-- Allt h�är ovan kan du l�ätt redigera s�å att det passar din

hemsida - nu b�örjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet h�är ovan st�ämmer med den textfil du gjort

 

if(isset($namn)) {

$message = str_replace("<", "&lt;", $message);

$message = str_replace(">", "&gt;", $message);

$message = str_replace("\n", "<br>\n", $message);

 

// Se till att http:// finns i url:en.

// if (!(substr($url, 0, 7) == "http://"'>http://"))

// $url = "http://" . $url;

 

// �Öppna filen i "append"-l�äge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Fr�ån: <b>$namn</b><br>\n");

fwrite($fd, $message);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// �Öppna filen i "read"-l�äge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

<!-- se till att filnamnet ovan �är korrekt. -->

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type="text" size=50 name="namn" class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="L�ägg till!">

</FORM>

[/log]

 

och kan ses på: http://themasters.1go.dk/guestbook.php

Fortfarande händer inget över huvud taget när man klickar på "lägg till".

 

//Templar

 

Länk till kommentar
Dela på andra webbplatser

OK, bara för att testa att PHP överhuvudtaget funkar, testa det här (i en fil som du kan kalla för "test.php"):

 

<?[color="#0000ff"]php[/color]
[color="#ff0000"]phpinfo[/color]();
?>

 

 

Du kan också testa att skriva in nåt, vad som helst, i filen "guestbook.txt". Allt det som står inskrivet i den filen ska synas när skriptet körs (när du kollar på sidan).

 

Koden jag klistrade in här är i alla fall testkörp på en webserver, men det kan fungera lite olika på olika ställen.

 

[inlägget ändrat 2004-09-18 11:40:17 av lizardKng]

Länk till kommentar
Dela på andra webbplatser

OK, testa nu:

 

[log]<H1>G�ästbok f�ör klanmedlemmar</H1>

<HR>

<!-- Allt h�är ovan kan du l�ätt redigera s�å att det passar din

hemsida - nu b�örjar php-koden -->

<?

$filename = "guestbook.txt";

// se till att filnamnet h�är ovan st�ämmer med den textfil du gjort

 

if(isset($_POST['namn'])) {

 

$message = $_POST['message'];

$namn = $_POST['namn'];

 

$message = str_replace("<", "&lt;", $message);

$message = str_replace(">", "&gt;", $message);

$message = str_replace("\n", "<br>\n", $message);

 

// Se till att http:// finns i url:en.

// if (!(substr($url, 0, 7) == "http://"'>http://"))

// $url = "http://" . $url;

 

// �Öppna filen i "append"-l�¡�äge

if ($fd = (fopen($filename, "a"))) {

// Skriv i filen

fwrite($fd, "Fr�ån: <b>$namn</b><br>\n");

fwrite($fd, $message);

fwrite($fd, "\n<hr>\n");

fclose($fd);

} else {

print("<B>ERROR: cannot open $filename for writing\n");

}

 

}

 

// �Öppna filen i "read"-l�äge

if ($fd = (fopen($filename, "r"))) {

$contents = fread ($fd, filesize ($filename));

fclose ($fd);

// Skriv ut filen i html-dokumentet

print($contents);

} else {

print("<B>ERROR: cannot open $filename for reading\n");

}

?>

<FORM ACTION="guestbook.php" METHOD="POST">

<!-- se till att filnamnet ovan �¡�är korrekt. -->

<TABLE>

<TR>

<TD>Namn: </TD>

<TD>

<INPUT type="text" size=50 name="namn" class="InputText">

</TD>

</TR>

</TABLE>

<TEXTAREA NAME="message" ROWS="15" COLS="80" STYLE="width:90%;height:100px;" class="InputText">

</TEXTAREA>

<P>

<INPUT type=submit VALUE="L�¡�ägg till!">

</FORM>[/log]

 

Länk till kommentar
Dela på andra webbplatser

Tjohoo, va bra!

 

Det var raden

 

register_globals Off Off

 

jag var ute efter i phpinfo(). Står det så måste man använda $_POST['message'] istället för $message! Alla dessa småsaker ;)

[inlägget ändrat 2004-09-18 14:16:06 av lizardKng]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...