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

Jetzt mitmachen!

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