View previous topic :: View next topic |
Author |
Message |
Erdgeist n00b
Joined: 06 Jun 2004 Posts: 26 Location: germany
|
Posted: Sun Jun 06, 2004 4:34 pm Post subject: [OT] schreibverbot bei php-gästebuch |
|
|
ich hab ein problem mit meinem gästebuch.
man kann keine einträge posten.
Das GB wurde auf einem windows-host getestet. mit erfolg.
darum glaube ich das der fehler nicht beim script zu suchen ist.
Auch die log-dateien konnten mir nicht weiterhelfen.
der link zum GB ist:
http://erdgeist.homeip.net/guest.php
bei dem script handelt es sich um 2 dateien. der guest.php und einer comment.txt in der die comments gespeichert werden.
der lokale pfad zur homepage ist standart /var/www/localhost/htdocs
ich habe auch schon ein 2tes GB versucht, das unter:
http://erdgeist.homeip.net/alt/pcp_gb_v3/index.php
zu finden ist. nur bei diesem gb sieht es noch schlimmer aus.
ich hoffe ihr könnt mir weiterhelfen.
mfg Erdgeist
mod edit: Als [OT] markiert. -- amne _________________ Das Hauptproblem liegt zwischen Tastatur und Rückenlehne... |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Jun 06, 2004 4:42 pm Post subject: |
|
|
hallo,
also wenn es 100%ig nicht am script liegt:
comments.txt -> schreibrechte??
HTH
ciao |
|
Back to top |
|
|
Erdgeist n00b
Joined: 06 Jun 2004 Posts: 26 Location: germany
|
Posted: Sun Jun 06, 2004 4:56 pm Post subject: |
|
|
777 _________________ Das Hauptproblem liegt zwischen Tastatur und Rückenlehne... |
|
Back to top |
|
|
pir187 Guru
Joined: 19 Feb 2004 Posts: 309 Location: Papstdorf : Sachsen : Deutschland
|
Posted: Sun Jun 06, 2004 5:15 pm Post subject: |
|
|
huhu,
in der zeile <form action="" method="post"> steht hinter "action" normalerweise das ziel, zu dem die eingegebenen formulardaten geschickt werden. dort werden sie dann in geeigneter weise weier verarbeitet.
bei dir steht da aber nichts, also kann mit den daten auch nichts geschehen! logisch!
also check noch mal das skript, ich glaube da sollte "quest.php" stehen! poste am besten mal den inhalt des guest.php-skriptes! das hilft uns, dir zu helfen!
mfg, pir187 _________________ Linux 2.6.24-gentoo-r8, Athlon XP 3200+@ASUS A7N8X-E Deluxe 2.0, 2GB MDT DDR-RAM PC3200@2,5-3-3-7, Gainward GF7800GS+ (G71), Creative Audigy 2 ZS, 2x Seagate 750 GB@RAID1 + LVM2
(sehr zufriedener) registrierter Linux-Nutzer #360788 |
|
Back to top |
|
|
Erdgeist n00b
Joined: 06 Jun 2004 Posts: 26 Location: germany
|
Posted: Sun Jun 06, 2004 5:35 pm Post subject: |
|
|
ungern, wegen coyright
aber dennoch:
<html>
<head>
<title> Erdgeist´s Guests </title>
</head>
<body>
<h1 align="center"> Gaestebuch </h1>
<hr>
<div align="center">
<form action="<?php echo $PHP_SELF ?>" method="post">
Ihr Beitrag :<br>
<textarea cols="55" rows="4" wrap="soft" name="comment"></textarea><br>
Name :<br>
<input type="text" name="name"><br>
Email : <br>
<input type="text" name="email"> <input type="submit" value="Posten">
</form>
</div>
<?
// * Dateinamen in Variable speichern * //
$datei = "comment.txt";
// * Validierung des Namens-/Emailfeldes
if (isset($comment) && $name != "" && $email != "") {
// * Dateizugriff [write & read] * //
$zeiger = fopen($datei,"r+");
// * alte Daten herauslesen und in $alt speichern * //
$alt = fread($zeiger,filesize($datei));
// * Email-Link entsteht * //
$email = "<a href=\"$email\">$email</a>";
// * Datum [ermitteln + formatieren] * //
$datum=date("j.n.Y");
// * Kill all Slashes + Zeilenumbrüche * //
$comment=stripslashes(nl2br($comment));
// * News zusammensetzen * //
$news="<p><b>$name</b> ($email) schrieb am <i>$datum</i>:<br>$comment</p>\n";
// * unsichtbarer Cursor an Anfang * //
rewind($zeiger);
// * neue News vor alte * //
fputs($zeiger,"$news \n $alt");
// * Datei schliessen * //
fclose($zeiger);
}
// * Datei anzeigen * //
readfile($datei);
?>
</body>
</html> _________________ Das Hauptproblem liegt zwischen Tastatur und Rückenlehne... |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Jun 06, 2004 6:04 pm Post subject: |
|
|
ja, tausch mal $PHP_SELF durch guest.php
--> das stünde dann dafür, dass $PHP_SELF nicht richtig gesetzt ist.
mach mal phpinfo() und schau, welche env's du hast.
hth,
ciao |
|
Back to top |
|
|
pir187 Guru
Joined: 19 Feb 2004 Posts: 309 Location: Papstdorf : Sachsen : Deutschland
|
Posted: Sun Jun 06, 2004 6:18 pm Post subject: |
|
|
probier mal das:
<form action="<?php echo $PHP_SELF; ?>" method="post">
falls es nicht erkennbar ist: ein semikolon hinter $PHP_SELF solltest du setzen! befehlszeilen sollte man immer mit ";" abschließen.
ändert das was?
pir187 _________________ Linux 2.6.24-gentoo-r8, Athlon XP 3200+@ASUS A7N8X-E Deluxe 2.0, 2GB MDT DDR-RAM PC3200@2,5-3-3-7, Gainward GF7800GS+ (G71), Creative Audigy 2 ZS, 2x Seagate 750 GB@RAID1 + LVM2
(sehr zufriedener) registrierter Linux-Nutzer #360788 |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Jun 06, 2004 6:34 pm Post subject: |
|
|
die "neuen" PHP Parser (glaub ab 4.3) ersetzen teilweise das fehlende Semikolon...
sonst würde ja ein parse Error kommen...
ist wirklich schwer zu sagen in diesem fall, weil man nicht selbst an der maschine ist
ciao |
|
Back to top |
|
|
Erdgeist n00b
Joined: 06 Jun 2004 Posts: 26 Location: germany
|
Posted: Sun Jun 06, 2004 7:04 pm Post subject: |
|
|
hat beides nichts gebracht, wenn ich das richtig verstanden habe soll ich phpinfo() in der console ausführen?! ( nutze gentoo noch nicht all zulange) dann komm ich so ne art texteditor (wie bei tclsh nur mit anderem vorzeichen)
inen output gibt es nicht. _________________ Das Hauptproblem liegt zwischen Tastatur und Rückenlehne... |
|
Back to top |
|
|
pir187 Guru
Joined: 19 Feb 2004 Posts: 309 Location: Papstdorf : Sachsen : Deutschland
|
Posted: Sun Jun 06, 2004 7:06 pm Post subject: |
|
|
nee, erstelle eine neue datei info.php mit dem inhalt:
<?php
phpinfo();
?>
wenn du beim ausführen eine sinnvolle seite angezeigt bekommst, funzt php erst einmal grundsätzlich! weiter dann später! _________________ Linux 2.6.24-gentoo-r8, Athlon XP 3200+@ASUS A7N8X-E Deluxe 2.0, 2GB MDT DDR-RAM PC3200@2,5-3-3-7, Gainward GF7800GS+ (G71), Creative Audigy 2 ZS, 2x Seagate 750 GB@RAID1 + LVM2
(sehr zufriedener) registrierter Linux-Nutzer #360788 |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Jun 06, 2004 7:08 pm Post subject: |
|
|
naja, php funktioniert ja, da wir ja auf seinem server ware (nehme ich an)
--> es geht mir um die ENV settings oder wo halt zB PHP_SELF steht...
) |
|
Back to top |
|
|
Robelix l33t
Joined: 21 Jul 2002 Posts: 760 Location: in a World created by a Flying Spaghetti Monster
|
Posted: Sun Jun 06, 2004 7:24 pm Post subject: |
|
|
pir187 wrote: | huhu,
in der zeile <form action="" method="post"> steht hinter "action" normalerweise das ziel, zu dem die eingegebenen formulardaten geschickt werden. dort werden sie dann in geeigneter weise weier verarbeitet.
bei dir steht da aber nichts, also kann mit den daten auch nichts geschehen! logisch!
mfg, pir187 |
Irrtum, action="" geht schon, der Browser nimmt dann die aktuelle URL. Aber schön ist es natürlich nicht.
In dem Fall _glaub_ ich eher, daß diese GB's "register_global = On" brauchen.
BTW: Hätte selber ein relativ einfaches GB-Script ohne DB rumliegen: http://www.robelix.com/pappalapapp/ - ist allerdings in Perl und schon ziemlich alt.
Robelix _________________ mysql> SELECT question FROM life, universe, everything WHERE answer=42;
Empty set (2079460347 sec) |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Jun 06, 2004 7:28 pm Post subject: |
|
|
guter einwand! könnte so eines von den "unschönen" scripten sein, die gleich eine variable aus get/post mit $variable übernehmen -> absolute sicherheitslücke...
aber es gibt ohnehin soooo viele scripte -> vielleicht suchst du ein anders?
ciao |
|
Back to top |
|
|
x000x Tux's lil' helper
Joined: 18 Jun 2002 Posts: 86 Location: Germany - Hamburg
|
Posted: Sun Jun 06, 2004 9:09 pm Post subject: |
|
|
Hallo,
füge folgende zeilen in dein script ein, dann funktioniert es auch
Code: | ...
$comment = $HTTP_POST_VARS{"comment"};
$name = $HTTP_POST_VARS{"name"};
$email = $HTTP_POST_VARS{"email"};
// * Validierung des Namens-/Emailfeldes
if ($comment != "" && $name != "" && $email != "") {
... |
_________________ -= Gruss Peter =-
-= alias x000x =-
Peter wrote: | perl -e 'print "\x47\x72\x75\x73\x73\x20\x50\x65\x74\x65\x72\x20\x3b\x2d\x29\x0a";' |
|
|
Back to top |
|
|
pir187 Guru
Joined: 19 Feb 2004 Posts: 309 Location: Papstdorf : Sachsen : Deutschland
|
Posted: Sun Jun 06, 2004 9:13 pm Post subject: |
|
|
$comment = $HTTP_POST_VARS{"comment"};
$name = $HTTP_POST_VARS{"name"};
$email = $HTTP_POST_VARS{"email"};
--> geschweifte klammern? ich nehme da immer eckige! kann aber auc sein, daß es mehrere möglichkeiten gibt, dann nimm es als versuchsalternative, falls o.a. nicht klappt...
gute n8, pir187 _________________ Linux 2.6.24-gentoo-r8, Athlon XP 3200+@ASUS A7N8X-E Deluxe 2.0, 2GB MDT DDR-RAM PC3200@2,5-3-3-7, Gainward GF7800GS+ (G71), Creative Audigy 2 ZS, 2x Seagate 750 GB@RAID1 + LVM2
(sehr zufriedener) registrierter Linux-Nutzer #360788 |
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2937 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Sun Jun 06, 2004 9:20 pm Post subject: |
|
|
Benutze dann
$_SERVER['PHP_SELF']
ne frage, hast du auch zugriff zu einer Datenbank (ldap, sql?) _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
x000x Tux's lil' helper
Joined: 18 Jun 2002 Posts: 86 Location: Germany - Hamburg
|
Posted: Sun Jun 06, 2004 9:22 pm Post subject: |
|
|
pir187 wrote: | --> geschweifte klammern? |
ja, hast natürlich recht... [...] Klammern _________________ -= Gruss Peter =-
-= alias x000x =-
Peter wrote: | perl -e 'print "\x47\x72\x75\x73\x73\x20\x50\x65\x74\x65\x72\x20\x3b\x2d\x29\x0a";' |
|
|
Back to top |
|
|
|