Ausgabe von Links und if bedingung anwenden

  • Hallo,

    ich hab es jetzt endlich geschafft ein Gästebuch mit PHP zu erstellen und ich stehe jetzt vor einem Problem: die E-Mail und Homepage sollen als links ausgegeben werden und ich finde nichts... genauso habe ich ein Problem dass mir bei einem Beitrag wenn keine Homepage angegeben wird Homepage eingetragen wird anstatt nichts hingeschrieben wird... Bitte um Hilfe... hier der link zum GB http://www.dietotenkoepfe.de/gaestebuch.php


    LG

    Flo

  • Wegen "Homepage": da wird wohl irgentwo im code als default "Homepage" stehen, denke ich.

    Und
    emails als Link:

    HTML
    <a href="mailto:email@xyz.com">email</a>


    Homepage als Link:

    HTML
    <a href="http://xyz.com">homepage</a>
  • das ist ein schnipselchen von meiner codeküche

  • Du hast die Frage vergessen =)
    aber ich denke Du willst wissen wo Du xyz hinpacken sollst ....

  • Vielen Lieben Dank! Hat mir sehr geholfen. nur hast du

    Zitat

    <fieldset style="border-color: #DDDDDD;"> <legend class="auto-style12"> <?php echo htmlspecialchars($row->name); ?> &emsp;<img src="button/emailmodern.png" class="auto-style11" /> <span class="auto-style14"> <span class="auto-style11"> <?php echo '<a href="mailto:'.htmlspecialchars($row->mail).'">'.htmlspecialchars($row->mail).'</a>'; ?></span> &emsp;<img src="button/homepageline.gif" class="auto-style11" /> <span class="auto-style11"> <?php echo '<a href="http://'.htmlspecialchars($row->homepage).'">'.htmlspecialchars($row->homepage).'</a>' ?></span> </span> </legend> </fieldset> &nbsp;<h4 style="width: 58px;" class="auto-style12"><small style="color:grey;">schrieb:</small></h4> <p style="width: 250px;" class="auto-style13"> <?php echo htmlspecialchars($row->nachricht); ?> </p>


    hier einen fehler... dann werden die Brakes als <br /> ausgegeben.

    Außerdem würden wir gern noch eine Kommentar Funktion einbauen... wenn ihr mir dabei helfen könntet wäre es ehr nett...


    Zitat

    if($name == "" or $mail == "" or $nachricht == "") {
    echo "Bitte f&uuml;lle alle mit * gekennzeichneten Felder aus!";
    }


    da würde ich auch gern noch ein Zurücklink machen

    5 Mal editiert, zuletzt von flo96 (11. August 2013 um 11:06)

  • Zu htmlspecialchars() hab ich vergessen zu schreiben, dass Du halt auspassen musst wie du Benutzereingaben ausgibts.
    Du nutzt da eine Klasse $row die ich nicht kenne. Ich tippe darauf, dass in der Klasse die benutzereingaben schon maskiert werden. Aber ich weiß es nicht.
    Mehr zum Thema: http://www.php-kurs.com/gaestebuch-absichern.htm

    Zitat

    Ohne Schutz kann auch JavaScript eingeschleust werden (z.B. <script>alert('gehackt :) ')</script> ) oder sonstiges.

    Du hast komische Bezeichnungen: "Zurücklink" ;D
    Ich kann mir vorstellen was Du meinst. Aber würde empfehlen:

  • Außerdem würden wir gern noch eine Kommentar Funktion einbauen... wenn ihr mir dabei helfen könntet wäre es ehr nett...


    da würde ich auch gern noch ein Zurücklink machen


    Also wegen der Kommentarfunktion, da müsste ich selber basteln, aber für den Zurücklink mach doch einfach:

    PHP
    if($name == "" or $mail == "" or $nachricht == "") {
    echo "Bitte f&uuml;lle alle mit * gekennzeichneten Felder aus!<br />";
    echo '<a href="gaestebuch.html">Zurück</a';
    }


    Geht schneller, aber wenn du bissel mehr umbauen willst, würde ich auch cotttons Variante empfehlen.

  • Danke für die Antwort.

    PHP
    if($name == "" or $mail == "" or $nachricht == "") { echo "Bitte f&uuml;lle alle mit * gekennzeichneten Felder aus!<br />"; echo '<a href="gaestebuch.html">Zurück</a>'; }

    da wird der Link nicht ausgegeben :huh:

  • Du hast komische Bezeichnungen: "Zurücklink" ;D
    Ich kann mir vorstellen was Du meinst. Aber würde empfehlen:

    wie funktioniert das genau? habe noch nicht so viel ahnung ^^

  • Danke ich habs jetzt...

    PHP
    if($name == "" or $nachricht == "") { 
    echo "Bitte f&uuml;lle alle mit * gekennzeichneten Felder aus! 
    <a href=\"Zur&uuml;ckhttp://www.dietotenkoepfe.de/gaestebuch.html\">Zur&uuml;ck</a>";
  • Prinzip bleibt aber ähnlich:

    • Variablen definieren
    • Prüfen, ob Formular gesendet wurde
      • Wenn ja, Einträge prüfen
        • Wenn korrekt, Eintrag ins Gästebuch schreiben
        • Wenn falsch, Formular mit Fehlermeldung ausgeben
      • Wenn nein, Formular ausgeben


    Das kommt dann auf eine Seite, wie das Kontaktformular

  • Wieso eigtl strip_tags und addslashes ?
    Hab ich jetzt öfter hier gesehen (in diesem Thread glaub ich).

    Man möge mich berichtigen, aber wenn Du/Ihr htmlspecialchars() beim Ausgeben verwendet, dann kann nix passieren =)

  • bin auch der Meinung das das reicht.
    -strip_tags: nicht zu empfehlen da, wenn der nutzer <x zeichen verwendet, alles danach bis zum nächsten schlisenden tag gelöscht wird.
    -addslashes: bringt nur etwas wenn du den userinput in eine datenbank schreiben willst (naja selbst dafür gibt es ne andre function. was bringt dan die hier weiß das einer?)
    -htmlspecialchars: '<div>' , htmlspecialchars($input) , '</div>' egal welcher input, in diesen div ist nur text keine HTML Tags oder so also keine gefahr.

  • addslashes -- würde mir Javascript einfallen. Also wenn Du in PHP ein JS schreibst und es via PHP ausgeben willst, könnte man addslashes drüber rennen lassen (glaub ich).

  • @Redo


    ich arbeite viel lieber mit einer Datenbank anstatt einer Textdatei. Wie könnte man dies dann tun?

    Einmal editiert, zuletzt von flo96 (15. August 2013 um 09:27)

  • @Redo


    ich arbeite viel lieber mit einer Datenbank anstatt einer Textdatei.


    Ich habe die Datenbankverbindung bewusst durch eine Textdatei ersetzt ^^

    Wie könnte man dies dann tun?

    In dem man zuerst PHP und dann PHP/MySQL lernt, was bringt es dir immer fertigen Code hinzuklatschen? Nachher kannst du gar nichts mehr mit anfangen

    Einmal editiert, zuletzt von redo (18. August 2013 um 03:18)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!