Kleines PHP Problem

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Mangafreak1995.

    Kleines PHP Problem

    PHP-Quellcode

    1. <?php
    2. $file="Directory";
    3. $ext ="FileExtension";
    4. $des = array($first,
    5. $second,
    6. $third,
    7. $fourth);
    8. for($c= 0; ; ++) # Zeile 14
    9. {
    10. if($c = 3)
    11. {
    12. echo "<br><img alt=\"" . $c . "\" src=\"" $file . $c . $ext . "\"><br>" . $des[$c] . "<hr>";
    13. break;
    14. }
    15. else
    16. {
    17. echo "<br><img alt=\"" . $c . "\" src=\"" $file . $c . $ext . "\"><br>" . $des[$c];
    18. }
    19. }
    20. ?>

    Das ist mein php-Code und ich kriege immer den Fehler :
    syntax error, unexpected ')' on line 14

    ich find dort keinen Fehler. Und da es auch ein paar php-, und C-Programmierer hier im Forum gibt frag ich auch mal hier.

    MfG M4n94fr34k
    erstmal
    das:

    PHP-Quellcode

    1. if($c = 3)

    bewirkt sicher nicht das, was du willst. (liefert nämlich immer true zurück, außer $c ist readonly)
    Das muss so da stehen:

    PHP-Quellcode

    1. if($c == 3)


    dein Problem:
    bei der For-Schleife fehlt der Inhalt zwischen den beiden Strichpunkten. Außerdem fehlt die Variable, die inkrementiert werden soll.

    Schau dir das mal an:
    de3.php.net/manual/de/control-structures.for.php
    Beispiel einer klassischen Schleife:

    PHP-Quellcode

    1. for ($i = 1; $i <= 10; $i++) {
    2. echo $i;
    3. }



    In deinem Fall würde ich aber ForEach benutzten.
    Von meinem iPhone gesendet
    @nikeee13: stimmt ja ... danke dass du mich dran erinnerst ^^'
    aber in deinem Link ist genau meine Variante drin (Variante 2) und funktioniert auch ^^
    seh ich nicht so ich habs auf verschiedenste Weise versucht ob mit Variable vor ++ oder nicht, aber das geht auch ohne Variable
    Wie eine klassische Schleife aussieht weiß ich ja dank c# und php
    löst das Problem aber noch nicht

    @Load-soft.ch.vu: danke, aber ich bleib erstmal beim escapen :) habs mir grad so angewöhnt

    @Tsuyo && Load-soft.ch.vu: wenn ich

    PHP-Quellcode

    1. <?php echo "'" ; ?>
    hab dann kommt nur ein ' und kein "
    oder wie soll ich das grad interpretieren ?

    Load-soft.ch.vu schrieb:

    Hi,
    Übrigens schlage ich vor bei echo diese ' Zeichen zu benutze dann musst du auch keine Schrägstrichte u.a. benutzen.
    Mfg
    Loadsoft

    er könnte auch einfach " benutzten und sich ein paar Punkte sparen.

    z.B.:

    PHP-Quellcode

    1. echo "<br /><img alt=\"$c\" src=\"$file$c$ext\" /><br />$des[$c]<hr />";
    Wenn ich mich irre, bitte sagen.

    Edit:
    Ahh, und btw. in XHTML immer ALLE Tags schließen, selbst wenn sie nur aus einem bestehen: <br> -> <br /> // <hr> -> <hr />

    Edit2:

    PHP-Quellcode

    1. echo "\"";
    2. //oder
    3. echo '"';
    4. // ist das Selbe, ich benutze aber lieber die doppelten, weil man die Vars direkt reinschreiben kann.
    Von meinem iPhone gesendet
    @nikeee13: ich lass die Punkte noch für mich zur Übersicht, aber ich hab auch schon ausprobiert es geht auch ohne
    ab wann ist ein HTML-Code ein XHTML-Code ?

    @load-soft.ch.vu: danke jetzt hab ich dich verstanden :D

    wegen der ForEach-Schleife, guckt euch den Code bitte an und sagt mir ich dann das ansonsten entstehende Problem lösen kann ?

    der Fehler kommt trotzdem ? Weitere Vorschläge ?
    Problem gelöst ^^'
    hätt ich auch früher drauf kommen können:

    PHP-Quellcode

    1. <?php
    2. $file="Directory"; # Pfad relativer
    3. $ext ="FileExtension"; # erlaubte Dateierweiterung
    4. $des = array($first, # Bildbeschreibungen
    5. $second,
    6. $third,
    7. $fourth);
    8. $dir = $home . $file; # Home ist der absolute Pfad zu der jetztigen php-Datei + den relativen Pfad
    9. $verz=opendir($dir); # Handle für das Verzeichnis öffnen
    10. $c = 0; # counter auf 0 setzen
    11. while($file = readdir($verz)){ # while-schleife ob das Ende des Verzeichnisses erreicht wurde, wenn ja Schleife verlassen
    12. if($file != '.' && $file != '..') # in einem Serveraufbau kommen auch . und .. afaik-Dateien für mich nicht zu gebrauchen also wenn das gesuchte nicht sowas ist weiter
    13. {
    14. if(eregi($ext,$file)) # eregi ist ungefähr wie .Contains ... hier eregi(TeilString, der_in_diesem_String_sein_soll)
    15. {
    16. $name = substr($file,0 ,strlen($file) - 4); # Endung abschneiden
    17. echo "<br><img alt=\"" . $name . "\" src=\"" . $dir . $file . "\"><br>" . $des[$c]; # HTML-Code ausgeben
    18. $c++; # counter erhöhen
    19. }
    20. }
    21. }
    22. closedir($verz); ?> # Handle für das Verzeichnis schließen

    für alle die reinschauen müsste das verstänlich sein durch die Kommentare

    danke aber an alle die sich damit beschäftigt haben
    und Tipps gegeben haben