Ankündigung

Einklappen
Keine Ankündigung bisher.

Hochkomma Verschachtelung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • journeyman
    hat ein Thema erstellt Hochkomma Verschachtelung.

    Hochkomma Verschachtelung

    Hallo Zusammen,

    nach zig gegoogelten Seiten und 30 Kippen wende ich mich jetzt an Euch.
    Kann mir jemanden sagen, wo hier der Fehler liegt?

    PHP-Code:
    <?php
    echo "<div id='loginform'>
                    <h2>Customer Login</h2>
                    
                    <form class='flex-container' action='login_check.php' method='post'>
                        <p class='flex-item'><input type='text' name='un' placeholder='Username' 
                        VALUE=\' if (isset (
    $_GET [\"un\"])) { echo $_GET[\"un\"]\; } \'
                        </p>
                    </form>
                 </div>"
    ;
    ?>
    Es liegt auf jeden Fall an der Verschachtelung bei dem Attribut Value.
    Weiß jemand, was da falsch läuft?

    Gruß Lutz

    P.S.: Fehlermeldung ist übrigens das:
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

  • hausl
    antwortet
    In dem Fall bei nur einer Var, zahlt ich das imho nicht aus.. verkompliziert und "belastet" den Parser nur sinnlos (wenn auch nicht messbar, egal)

    Aber da noch Vorsicht...
    PHP-Code:
    $un ""
    if(isset(
    $_GET['un'])) { 
        
    $un $_GET['un']; 


    // ...

    <input type='text' name='un' placeholder='Username' VALUE='" . $un . "> 
    Werte von "aussen" nicht einfach so in den HTML-Output schreiben: http://php-de.github.io/jumpto/cross-site-scripting/

    LG

    Einen Kommentar schreiben:


  • DanielPa
    antwortet
    Falls du es doch in echo brauchst: Du kannst keine if in einer echo ausführen.

    PHP-Code:
    $un "";
    if(isset(
    $_GET['un'])) {
        
    $un $_GET['un'];
    }

    echo 
    "
    <div id='loginform'>
        <h2>Customer Login</h2>

        <ul>
            <li>Please contact us to receive your intial login details</li>
            <li>We recommend you change your password after first login</li>
        </ul>

        <form class='flex-container' action='login_check.php' method='post'>
            <p class='flex-item'>
            <input type='text' name='un' placeholder='Username' VALUE='" 
    $un ">
            </p>
        </form>
    </div>"

    PS: Rauchen ist ungesund!

    Einen Kommentar schreiben:


  • journeyman
    antwortet
    Perfekt, Danke.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Und bitte führ dir debbuging nochmals zu Gemüte: http://php-de.github.io/#debugging

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Waum alles mit echo ? Vollig unnötig!
    Ausserdem hast du als Methode POST und holst GET, nur als Info falls es nicht absicht ist.

    PHP-Code:
    <?php

    // ...

    $un ""
    if (isset $_GET['un']) {
        
    $un = ...
    }

    ?>
    <div id='loginform'> 
        <h2>Customer Login</h2> 
         
        <ul> 
            <li>Please contact us to receive your intial login details</li> 
            <li>We recommend you change your password after first login</li> 
        </ul> 
         
        <form class="flex-container" action="login_check.php" method="post"> 
            <p class="flex-item"><input type="text" name="un" placeholder="Username" value="<?php echo htmlentities($un, ... ); ?>"></p> 
        </form> 
     </div>

    <?php

    // ...

    Einen Kommentar schreiben:

Lädt...
X