PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo ist der fehler ? bei diesem php GB script ?



dadie
07.07.2004, 03:43
Hi

Also ich soll für einen freund ein GB bauenOHNE mysql soweit so gut geht ja rechte easy nun habe ich folgenden code :

<?php



$datei = fopen ("test.html", "a+");

if (empty($email))
{ $name = $name2

} else {

$name2 = <a href="mailto:$email" >$name</a> }

if (empty($homepage))
{ $homep = "" }
else
{ $homep = Homepage: <a href="http://$homepage"; >$homepage</a> }


$text = wordwrap($text, 54)

$text = nl2br($text)

$input= "

<br><br>

<center>
----------------------------------------------------------

<b>Von $name2 aus $home am $datum</b><br>
$homep<br>
$text

";

fwrite($datei,"$input");



fclose($datei);

?>


so dazu habe ich 2 fragen :

1,Warum gibt der immer einen fehler bei zeile 10

2,Wie mache ich ein auto close nach 0 sekunden ?


MFG

Dadie

Dingsi
07.07.2004, 04:10
Ändere diese beiden Zeilen:

$name2 = <a href="mailto:$email" >$name</a>
$homep = Homepage: <a href="http://$homepage"; >$homepage</a>

zu diesen beiden:

$name2 = "<a href=\"mailto:$email\" >$name</a>";
$homep = "Homepage: <a href=\"http://$homepage\"; >$homepage</a>";

Bei der Füllung von Variablen mit einem String müssen halt Anführungszeichen drum. *rolleyes*

Nochwas:
Anstatt
empty($email) und empty($homepage) würd ich $_REQUEST['email'] und $_REQUEST['homepage'] nehmen, da ersteres veraltet ist und register_globals auf on benötigt, was wiederrum zum Sicherheitsrisiko werden kann.

Und.. was meinst du mit Auto-Close? Dass sich das Fenster schließt? o_O? Müsstest du mit javascript und window.close(); machen..

Blutfeuer, ich flehe dich an. Beeil dich bitte mit dem Style. *auf die knie fall*

Chocwise
07.07.2004, 17:49
Original geschrieben von Dingsi
...Blutfeuer, ich flehe dich an. Beeil dich bitte mit dem Style. *auf die knie fall*
Lusche! :p
anstatt rumzuheulen mach dir lieber Gedanken zur Improvisation auf Clientseite. Man kann auch den Text in den PHP-Boxen markieren wenn man etwas schwer lesen kann.

Als Administrator kann man auch nicht immer mit Fingerschnips irgendwelche Probleme lösen. Und wenn man mal berücksichtigt das wir Admins kein Geld für unsere Arbeit hier bekommen, passiert schon mächtig viel.
Dieses Problem mit der Lesbarkeit des PHP-Codes erfordert mehr Aufwand als es Nutzen hätte. Ich persönlich würde dafür keinen Finger krumm machen, aber wenn Blutfeuer das machen möchte... bitteschön.

BTW: Ich kann PHP-Code sehr gut lesen, vielleicht solltest du mal an den Einstellungen deines Monitor's rumspielen.

dadie
08.07.2004, 00:32
THX @ all

nun ist das GB fast fertig

seht es euch an unter

http://dlcc.funpic.de/gb-test/new/ausgabe.php

noch ne frage.

Wie sperre ich HTML bzw. erlaube nur b ?

Latency
08.07.2004, 01:06
Original geschrieben von dadie
THX @ all

nun ist das GB fast fertig

seht es euch an unter

http://dlcc.funpic.de/gb-test/new/ausgabe.php

noch ne frage.

Wie sperre ich HTML bzw. erlaube nur b ?

Well me hats in seiner Shoutbox folgender Masen gelöst.


$text=ereg_replace("<","&#060;",$text);
$text=ereg_replace(">","&#062;",$text);

Das hatte zur folge, dass zwar der Gesamte HTML Code angezeigt wurde, aber nicht mitinterpretiert, finde ich persönlich als eine recht passende Lösung.

Das mit dem müsste folgender Masen laufen.


$text = ereg_replace("[b*]";"<b>",$text);
$text = ereg_replace("[/b*]";"</b>",$text);

[b]edit:
Du musst die * aus den B-Tags nehmen, denn sonst werden sie hier im Forum mitinterpretiert :rolleyes:

dadie
08.07.2004, 01:41
THX

habe das [b*] noch nicht eingebaut habe dezeitig po0rbs damit.Hier meine neueste Version


http://dlcc.funpic.de/gb-test/new/version-3/ausgabe.php

Dingsi
08.07.2004, 01:54
Original geschrieben von Latency


$text = ereg_replace("[b*]";"<b>",$text);
$text = ereg_replace("[/b*]";"</b>",$text);
error. ^_~.
vor die ganezn [ und ]s müsse noch backslashes, da [ und ] kontrollzeichen für die *reg_funktionen sind.
also:

$text = ereg_replace("\\\\]";"<b>",$text);
$text = ereg_replace("\\[/b\\]";"</b>",$text);

dadie
08.07.2004, 02:17
THX

[b*] wir gleich eingebaut.

noch was unzwar ist das GB nun auch
admin tauglich auf gut deutsch ich habe ein recht frühes und noch leicht fehlerhaftes admin menu gebaut.

username: admin
pwd : admin


URL:

http://dlcc.funpic.de/gb-test/new/version-3/admin/login.php

das adminmenu verwaltet das GB auf

http://dlcc.funpic.de/gb-test/new/version-3/ausgabe.php

BITTE wenn sie sich NICHT mit html oder php auskennen nutzt nicht das admin menu es ist SAU verbuggd ich arbeite ohne ende dran.

Latency
08.07.2004, 05:20
Ich schätze ich kann den Thread auch mal kurz für meine Zwecke misbrauchen.

Also zu meiner Frage. Wenn ich in einer Textarea einen Zeilenumbruch habe, wie kann ich diesen durch <br> umsetzen?


$text = ereg_replace("\n";"<br>",$text);

Wirds wohl nicht sein, oder, das ist doch viel zu Einfach :D
(Probiert hab ichs nämlich noch nicht, aber es würde mich intressieren)

Dingsi
08.07.2004, 05:31
$str = nl2br($str); ^_~.

Auch wenns lang erscheinen mag. Die Seite ist guht. ^_^. (http://www.selfphp.info/funktionsuebersicht/string_funktionen.php) << Das da ist btw ein link. -_-.

Latency
09.07.2004, 02:10
Original geschrieben von Dingsi
$str = nl2br($str); ^_~.

Auch wenns lang erscheinen mag. Die Seite ist guht. ^_^. (http://www.selfphp.info/funktionsuebersicht/string_funktionen.php) << Das da ist btw ein link. -_-.

Hey, das klappt aber wie mach ich es wieder Rückgängig, als dass der Text auch im Textfeld wieder mit Leerzeilen angezeigt wird.


$bla = ereg_replace("<br />","\n",$bla);

Bei dem Code werden aus 2 Zeilenumbrüchen plötzlich 4 Leerzeilen -_-

edit:Ich bin draufgekommen :rolleyes:

Falls es jemanden Intressiert.


$bla = ereg_replace("<br />","",$bla);

Wichtig zu erwähnen wäre hier vielleicht noch, dass bei mir der Text in einer Textarea ausgegeben wurde.

dadie
09.07.2004, 03:22
Hi Ho

Ich habe nun mein GB in version 0.4 gebracht.

seht es auch an unter :

http://dlcc.funpic.de/gb-test/new/version-4/ausgabe.php

und das admin menu unter :

http://dlcc.funpic.de/gb-test/new/version-4/admin/admin.php?pwd=admin&user=admin

es gibt ein paar sichbare änderung der grossteil ist aber bug fixes.

(es gibt nun smillies)