wo ist der Unterschied

  1. Steglich

    Steglich Thread Starter MacUser Mitglied

    Mitglied seit:
    30.05.2003
    Beiträge:
    206
    Zustimmungen:
    0
    Zur Zeit arbeite ich mich durch ein Buch von Kevin Yank über "PHP und MySQL" mit Programmierungs Beispielen. Damit ich PHP von der Notation auch etwas besser kennenlerne, tippe ich die Listings ab und verändere sie entsprechend meinen Vorgaben. Und das obwohl auf der Website zum Buch die Listings zum download vorhanden sind.

    Nun habe ich mit einem ein Problem: Ich habe 2 Dateien angehängt:
    jokes.php // von mir abgetippt
    kyjokes.php // von der Website zum Buch

    Dummerweise funktioniert die Datei von der Website problemlos und meine eigene bricht beim Parsen mit folgender Fehlermeldung ab, die ich noch dazu überhaupt nicht nachvollziehen kann:
    Meiner Ansicht nach sind beide Dateien gleich, aber vielleicht seht ihr ja den Unterschied.
     

    Anhänge:

    • Dateigröße:
      2,1 KB
      Aufrufe:
      14
  2. Jamonit

    Jamonit MacUser Mitglied

    Mitglied seit:
    22.10.2003
    Beiträge:
    421
    Zustimmungen:
    1
    Also wenn du einen Editor mit Syntax-Highlighting benutzt siehst du das du in Zeile 20 einen Unterschied bei deinem
    PHP:
    <BR>
    hast. Einmal hast du ein Leerzeichen vor dem / und einmal nicht. Probier es aus, vielleicht liegts daran.
     
  3. Steglich

    Steglich Thread Starter MacUser Mitglied

    Mitglied seit:
    30.05.2003
    Beiträge:
    206
    Zustimmungen:
    0
    BR

    Also es ist egal, ob man
    PHP:
    <BR>
    <
    BR/> oder 
    <BR />
    schreibt. Hab es vorher und jetzt gerade noch einmal überprüft.
    Trotzdem Danke.
     
  4. Delmar

    Delmar MacUser Mitglied

    Mitglied seit:
    28.09.2002
    Beiträge:
    803
    Zustimmungen:
    1
    Also ...

    Zeile 25 muss heißen:
    PHP:
    while ($author mysql_fetch_array($authors)) {
    Zeile 36 entsprechend:
    PHP:
    while ($cat mysql_fetch_array($cats)) {
    Fehler: Du hast eine runde Klammer am Ende der while Schleife vergessen.
     
  5. kermit

    kermit MacUser Mitglied

    Mitglied seit:
    26.05.2003
    Beiträge:
    994
    Zustimmungen:
    28
    Nicht ganz. Tags müssen nun auch bei HTML
    geschlossen werden.
    Aber bei PHP sollte das nicht direkt die Fehlermeldung
    auslösen...

    kermit
     
  6. Delmar

    Delmar MacUser Mitglied

    Mitglied seit:
    28.09.2002
    Beiträge:
    803
    Zustimmungen:
    1
    @Jamonit:

    Der PHP Parser kümmert sich nicht um HTML "Fehler". Er bearbeitet lediglich die Codetei-
    le, die von <?php und ?> eingeschlossen sind. Daher gibt er auch nur für diese Bereiche
    Fehler aus. Leider wird, gerade was fehlende Klammern angeht, nicht immer die richtige
    Zeile genannt.
     
  7. Das war aber auch ein fieser Fehler wenn man nicht routiniert in PHP arbeitet… ich hab diese Fehler auch total oft gemacht, weil am Anfang doppelte )) komisch aussehen und nicht gewohnt sind…


    Hier die Erklärung:


    Du hast beidesmale eine abschließende Klammer ')' für die while Schleife vergessen.



    PHP:


    <?php
    while ($author mysql_fetch_array($authors)) { //Richtig

    while ($author mysql_fetch_array($authors) { //Falsch

    Die korrigierte Datei ist erstmal nicht anbei, bitte überprüfe deinen Fehler und frage, wenn du etwas nicht verstehst. Wenn du mich verstanden hast musst du jeweils eine ) an der entsprechenden Stelle finden und nachfügen und dein Script sollte funktionieren.


    Liebe Grüße

    Oberlehrer Yves ;) :D
     
  8. Steglich

    Steglich Thread Starter MacUser Mitglied

    Mitglied seit:
    30.05.2003
    Beiträge:
    206
    Zustimmungen:
    0
    () Danke

    Ich wusste, dass es etwas primitives sein muss, aber so etwas. Einfach eine Klammer zu vergessen. Das kommt davon, dass ich auf den Editor von GoLive umgestiegen bin, weil der so schön den Code ergänzt. Aber das hat man davon. Bei subetha habe ich diese Funktion noch nicht gefunden (oder herausgefunden wie sie geht), obwohl es laut Website in der neuen 2.0 Version die Code Ergänzung haben soll.

    Auf alle Fälle vielen Dank an alle, die sich dem Problem angenommen haben und vor allem an Delmar.
     
  9. Re: () Danke

    &nbsp;

    Mit dem red ich jetzt nicht mehr ;)

    PHP:
    <?php

    for($i=0;$i==100;$i++)
    {
    echo 
    'Delmar ist ein oller Besserwisser!';
    }
    ?>


    Ich glaub ich werd langsam alt… als ich mir die Zip geladen habe waren keine Postings vorhanden und als ich dann mit Schaum vor dem Mund triumphierend die Lösung posten wollte und dabei ein wenig Pseudodidaktik mitschwingen ließ… musste ich sehen das alle schneller waren… :(
     
  10. Steglich

    Steglich Thread Starter MacUser Mitglied

    Mitglied seit:
    30.05.2003
    Beiträge:
    206
    Zustimmungen:
    0
    Danke

    Danke auch an Yves,
    Delmar war nur schneller,
    Yves dafür ausführlicher.
    Mit euch beiden macht PHP lernen Spaß.
     
Die Seite wird geladen...
Ähnliche Themen - Unterschied
  1. Blain
    Antworten:
    1
    Aufrufe:
    7.566
  2. Der_Jan
    Antworten:
    15
    Aufrufe:
    10.200