Brauche Hilfe - Abbruch von foreach Schleife

  • So , und wieder. Ein neuer Tag, ein neues Problem.

    Heute hab ich ein Problem mit einer Schleife im Gästebuch.

    Ich habe mir vorhin ein Gästebuchtutorial angesehen, und wollte dieses Testen: http://www.php-einfach.de/tuts_php_gb.php

    Hab auch alles soweit verstanden und wollte dann auch testen, ob es funktioniert.

    Nach Eintrag des ersten Beitrages versucht das Script ein weiteres Array einzulesen, welches natürlich nicht vorhanden ist, und gibt dann als Fehler:

    Notice: Undefined offset: 1 in C:\wamp\www\guestbook\gaestebuch.php on line 42

    Soweit, sogut.

    Wie kann ich dem Script begreiflich machen, daß er beim letzten Eintrag stoppen soll?

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

  • Mir war ja auch klar, warum der Fehler kam

    Dafür kam Deine Antwort mit um so weniger Zeilen aus, das gleicht sich ja dann wieder aus :lol:

    Ich bin eigentlich eher der ausführliche Mensch, gibt es wohl wenige von ;)

    PHP Referenzen helfen mir jetzt wenig weiter, ehrlich gesagt.


    Wo zähle ich und wo sag ich dem jetzt daß er nur so lange ausgibt wie er gezählt hat ??

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

    Einmal editiert, zuletzt von TanyaTie (23. Juni 2009 um 13:22)

  • PHP Referenzen helfen mir jetzt wenig weiter, ehrlich gesagt.


    Und wie willst du dann PHP lernen? Ohne Doku und logischem Denken geht's nun mal nicht.

  • Im Allgemeinen helfen sie mir schon weiter :D nur in diesem Fall hat mir der Link der Referenz nicht weitergeholfen.

    Ansonsten lerne ich, indem ich mir in der aktuellen Schulung versuche die theoretischen Sachen reinzuschieben, was mich im moment etwas verwirrt da es in kurzer Zeit viel Stoff ist.

    Und ich bin froh, dieses Forum gefunden zu haben, weil mein Dozent, der sich das Script angesehen hat auch zu doof ist um mir weiterzuhelfen.

    Ich bin hier mit 2 Beiträgen weitergekommen wie mit 100 Fragen an meinen Dozenten.

    Zudem mußte ich im Verlauf der Schulung feststellen, daß der Kurs PHP4 abhandelt, und PHP5 einige Unterschiede aufweißt, die mich zusätzlich noch verwirren.

    Der Kurs ist auch online zu finden bei http://www.Teia.de

    Hab mir mehr versprochen von dem Institut wo ich sitze. Lernen findet hier statt, indem man den Kurs auf der Teia Seite durcharbeitet, eigenständig, und dann läuft ein Dozent rum, der gleichzeitig für alle Kursteilnehmer mit verschiedenen Kursen zuständig ist, also kein Unterricht sondern selbstlernen.

    Ich werde also sicherlich noch mit der ein oder anderen Frage hier auftauchen, weil ich so viel besser lerne. HTML hab ich mir auch auf diese Weise selber beigebracht, dann werd ich das auch mit PHP schaffen.
    Man kann gezielt nach Hilfe bei einem Problem fragen, erhält eine aussagekräftige Antwort (im besten Fall mehrere Vergleichsmöglichkeiten), und so versuche ich dann die Antworten in verschiedenen Testseiten in unterschiedlichen Situationen umzusetzen.


    Das ist meine Art zu lernen :D

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

  • Und wie willst du dann PHP lernen? Ohne Doku und logischem Denken geht's nun mal nicht.

    Leider funktioniert es so noch nicht,

    Hat jemand einen Link für mich , wo man nochmal intesiver, und anhand von Beispielen, auf das Thema der Verarbeitung der Schleifen und Ausgabe von Tabellen eingeht?

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

    Einmal editiert, zuletzt von TanyaTie (24. Juni 2009 um 09:33)

  • Mäh. Wer hat denn die Hauptseite von denen verbrochen?
    Das Tutorial ist, soweit ich das eben beurteilen kann, an sich nicht ganz schlecht, allerdings schon sehr veraltet (von 2003). Du solltest dir außerdem von Anfang an angewöhnen, bei Variablennamen eine feste Konvention einzuhalten. Zum Beispiel wären für die Useranzahl einer Seite folgende Schreibweisen möglich

    PHP
    $countofusers = 5;
    $count_of_users = 5;
    $countOfUsers = 5;
    $iCountOfUsers = 5; //i für integer

    Ich denke, Version 4 oder 5 sind am übersichtlichsten.

    Edit: Kann ich evtl mal die gästebuch.txt sehen? Ansonsten verwende Debugging-Funktionen wie var_dump, print_r oder echo/print.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

    Einmal editiert, zuletzt von Afrael (24. Juni 2009 um 09:36)

  • Also ist auch die Unterstrichvariante bei den Variabeln möglich, sehr schön.

    $count_of_users = 5;

    Ich dachte der Unterstrich wäre ein unerlaubtest Sonderzeichen.

    Wieder eine mir sehr entgegenkommende Variante.

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

  • Leider funktioniert es so noch nicht


    Das ist ja eine sehr ausführliche Problembeschreibung. :(

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Es wäre nicht schlecht, wenn man wüsste, wie die Datei beschrieben wird und wie Afreal uns sagte, wie sieht die Datei aus?

  • Afrael Ich habe das ganze mal in eine rar gepackt und zum Downloaden auf meinen Server gelegt.

    http://www.full-reloaded.de/downloads/guestbook.rar

    Das Tutorial , aus dem das Gästebuch stammt: http://www.php-einfach.de/tuts_php_gb.php

    Kennt jemand eine Page oder gerne auch mehrere wo anhand von RICHTIGEN Beispielscripts Schritt für Schritt der Aufbau erklärt wird.

    Ich hab jetzt schon eine Menge Tutorials probiert, aber in den meisten Fällen haben die Scripte garnicht erst funktioniert, was sehr ärgerlich ist, da man jedes mal wenn man denkt, daß man es ansatzweise verstanden hätte, dann läuft/laufen das/die Script/e garnicht. :mad: Das macht mich kirre.


    Nachtrag:
    Ach, bevor ich es vergesse. Ich habe zwar Speicherplatz im Net den ich Bezahle, aber teste hier in der Schulung das Ganze über eine WAMP Server den ich auf dem PC installiert habe.

    Kann das auch die Ursache für diverse Fehler sein?

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

    Einmal editiert, zuletzt von TanyaTie (24. Juni 2009 um 09:54)

  • Guck evtl mal hier.

    In diesem Beispiel ist der Fehler darin, dass das Array 4 Elemente enthält anstatt 3 wie in bandits Beispiel.

    Ad Nachtrag: Wenn die Scripts richtig programmiert sind, nicht. Könnte höchstens sein, dass das Tutorial sich auf Einstellungen verlässt, die bei deinem Server anders sind.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Danke Afrael, dann werde ich mich mal über die von Dir genannte Seite hermachen.

    Und auf meinen Streifzügen hier im Forum hab ich auch schon das ein oder andere sehr hilfreiche gefunden.

    Wer Rechtschreibfehler findet, darf sie auch behalten :D

  • Weis nun nicht genau was das Problem ist aber wenn du folgendes machst

    Code
    [COLOR=#000000][COLOR=#006600]foreach([/COLOR][COLOR=#0000cc]$beitrag [/COLOR][COLOR=#006600]as [/COLOR][COLOR=#0000cc]$ausgabe[/COLOR][COLOR=#006600])
       {[/COLOR][/COLOR]
    if($ausgabe==''){der rest der schleife}
    
    
    }