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 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

  • 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.

  • @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

Jetzt mitmachen!

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