wieso ' und " bei einem link?

  • Hallo Leute,

    Frage:

    Dieses Skript funktioniert und gibt einen Link aus:

    Aber, warum kann ich nicht

    echo '<a href=".$var_01.$var_02.'">Hier ist der Link</a>';

    schreiben? Die Verkettung der Variabeln wäre doch da?

    Dankeschön

  • eben nicht

    bei deinen beispiel würde folgendes aufgegeben werden:

    Code
    <a href=".$var_01.$var_02.">Hier ist der Link</a>

    wenn du variablen ohne weiter anführungszeichen verwenden willst, musst du " nehemn
    Beispiel:

    PHP
    $var1 = $_SERVER['REMOTE_ADDR'];
    echo "Ihre IP ist $var1 !";
    Code
    Ihre IP ist 255.255.255.255 !

    bei ' kannst du die variablen nicht so verwenden, sondern musst diese so verwenden:

    PHP
    $var1 = $_SERVER['REMOTE_ADDR'];
    echo 'Ihre IP ist '.$var1.'!';
    Code
    Ihre IP ist 255.255.255.255!

    dir ist freigestellt, was du von beiden verwendest (egal was ausgegeben werden soll), du musst es nur entsprechend richtig verwenden

  • Aber wenn ich z.B. angebe:

    PHP
    <?php 
    $var_01 = "Hallo";
    $var_02 = "Du";
    
    
    
    
    echo $var_01 .$var_02;
    ?>

    Dann habe ich doch hier eine Verkettung von Variablen mit dem . ohne sowas wie ' oder " zu schreiben.


    Wieso muß ich denn hier die ' anwenden? Ok '<a href=""> </a>' ist klar....kann man so schreiben.

    Aber warum muß ich neben der Verkettung der Variablen mit dem String noch ' also '.$var .' schreiben?

    echo '<a href="'.$var_01.''.$var_02.'">Hier ist der Link</a>';

    Danke

  • Ich glaub du übersiehst, dass du die " für href="" brauchst.

    Also:
    (in klammer comments)

    PHP
    echo '(<-echo auf)... href="(<-href auf)  '(<-echo zu)  . $verkettete_vars .  (echo auf->)'  (href zu->)">...</a>(echo zu->)';


    Oder?

  • Hallo,

    danke erstmal für die Antwort. Aber eine Frage bleibt.

    Du hast geschrieben:
    echo '(<-echo auf)... href="(<-href auf) '(<-echo zu) . $verkettete_vars . (echo auf->)' (href zu->)">...</a>(echo zu->)';

    Das gilt bei einer Variable.

    ****************************************************************************************

    Also einfach gesagt:

    '(<-echo zu) . $verkettete_vars . (echo auf->)'

    Also: Echo zu(') Verkettung(.) Variabel (.)Verkettung (') Echo zu



    Aber in dem Link, der funktioniert steht:


    echo '<a href="'.$var_01.''.$var_02.'">Hier ist der Link</a>';

    Warum muß man denn '.$var_01.''.$var_02.' schreiben und kann nicht '.$var_01 . $var_02.' also
    Echo zu(') Verkettung(.) Variabel (.)Verkettung (.)Verkettung Variabel (') Echo zu

    Warum steht zwischen den beiden Variabeln .''. und nicht einfach nur ein .?


    Danke

  • Ist doch richtig, was du machen willst.

    echo ' text ... ' . $var . $var2 . $var3 . ' text ... ';

    Nur falls du text zwischen den var haben willst, dann musst du das echo wieder aufmachen.
    Also

    echo ' text ' . $var . ' text ' . $var2 . ' text' ;

    Evtl hattes du alles richtig und nur ein ' (einfaches Anführungszeichen) mit einem " (doppeltem Anf.) verwechselt.


    EDIT:
    Du hattest "nur" ein ' vergessen ()siehe anhang)
    Mit einem Editor, der dir den code farbig anzeigt wird dir das bestimmt nicht passieren =)
    Im ersten bild siehst du, das die befehle danach zB blau sind. Das sagte mir, dass da was fehlen muss =)

    2 Mal editiert, zuletzt von cottton (15. Januar 2013 um 14:28)

Jetzt mitmachen!

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