Just nu i M3-nätverket
Jump to content

varför funkar inte denna gästbok?


Grains

Recommended Posts

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

 

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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]

 

Link to comment
Share on other sites

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]

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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]

 

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...