Problem bei der Ausgabe

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von librarian, 22.08.2005.

  1. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    MacUser seit:
    21.08.2005
    Hallo!
    Bin ein PHP-Anfänger mit einem Problem, was bestimmt nicht so riesig ist, wenn der Grund dafür gefunden wurde…
    Habe hier ein Skript, das nicht funktioniert, obwohl ich das gleiche schon mal geschrieben habe und das lief. (Genaugenommen habe ich das erste einfach kopiert und zu diesem modifiziert.)
    Freue mich über jeden Lösungsversuch! :(
    Hier ist das gute Stück:

    Code:
    <?php
    
    if ($_POST[vorname] and $_POST[name] and $_POST[b_day] and $_POST[mat_nr] and $_POST[adresse] and $_POST[plz] and $_POST[wohnort] and $_POST[phon] and $_POST[email]) {
    
    /*Bin ratlos,  irgendwie scheint PHP nicht als Sprache erkannt zu werden, ab „Folgende Daten ...“ wird alles Nachfolgende ausgegeben, bis auf die „<br>“s...  Unabhängig auch davon, ob die Daten (vorname, usw.) vom HTML-Formular gepostet wurden oder nicht.*/
    
      echo '<br>Folgende Daten wurden abgespeichert: <br> Name - '. $_POST[vorname],' '.$_POST[name],'<br>Stra&szlig;e & Hausnummer - '.$_POST[adresse],'<br>PLZ - '.$_POST[plz],'<br>Wohnort - '.$_POST[wohnort],'<br>Telefon - '.$_POST[phon],'<br>Email - '.$_POST[email]. ;
     }
    
    else {
    'Vervollst&auml;ndigen Sie bitte folgende Angabe/n:';
    
    if (!$vorname) {
    echo '<br>Vorname';
    }
    if (!$name) {
    echo '<br>Vorname';
    }
    if (!$adresse) {
    echo '<br>Vorname';
    }
    if (!$plz) {
    echo '<br>Vorname';
    }
    if (!$Wohnort) {
    echo '<br>Vorname';
    }
    if (!$phon) {
    echo '<br>Vorname';
    }
    if (!$email) {
    echo '<br>Vorname';
    }}
    
    ?>
     
  2. ThaHammer

    ThaHammer MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    MacUser seit:
    01.06.2004
    Auf die schnelle

    else {
    'Vervollst&auml;ndigen Sie bitte folgende Angabe/n:';

    Hier fehlt doch der echo Befehl.
     
  3. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    Hi,

    liest sich viel besser, wenn Du hier im Forum angibst, dass es PHP Code ist:

    PHP:
    <?php

    if ($_POST[vorname] and $_POST[name] and $_POST[b_day] and $_POST[mat_nr] and $_POST[adresse] and $_POST[plz] and $_POST[wohnort] and $_POST[phon] and $_POST[email]) {

    /*Bin ratlos, irgendwie scheint PHP nicht als Sprache erkannt zu werden, ab „Folgende Daten ...“ wird alles Nachfolgende ausgegeben, bis auf die „<br>“s... Unabhängig auch davon, ob die Daten (vorname, usw.) vom HTML-Formular gepostet wurden oder nicht. Deshalb wird auch alles
    angezeigt, da es die ganzen Variablen bei Deiner Version ja nicht gibt. */

    echo '<br>Folgende Daten wurden abgespeichert: <br> Name - '$_POST[vorname],' '.$_POST[name],'<br>Stra&szlig;e & Hausnummer - '.$_POST[adresse],'<br>PLZ - '.$_POST[plz],'<br>Wohnort - '.$_POST[wohnort],'<br>Telefon - '.$_POST[phon],'<br>Email - '.$_POST[email]. ;
    }

    else {
    /* wie schon gesagt fehlt hier „echo “ */ 'Vervollst&auml;ndigen Sie bitte folgende Angabe/n:';

    /* Du hast nirgends die Variablen benannt:

    z.B.:*/

    $vorname $_POST['vorname'];

    /* seit einigen PHP-Versionen werden per POST übergebene Variablen nicht
    einfach übernommen, sondern müssen so wie oben neu angelegt werden. */
    if (!$vorname) {
    echo 
    '<br>Vorname';
    }
    if (!
    $name) {
    echo 
    '<br>Vorname';
    }
    if (!
    $adresse) {
    echo 
    '<br>Vorname';
    }
    if (!
    $plz) {
    echo 
    '<br>Vorname';
    }
    if (!
    $Wohnort) {
    echo 
    '<br>Vorname';
    }
    if (!
    $phon) {
    echo 
    '<br>Vorname';
    }
    if (!
    $email) {
    echo 
    '<br>Vorname';
    }}

    ?>
     
    Zuletzt bearbeitet: 22.08.2005
  4. hossa

    hossa MacUser Mitglied

    Beiträge:
    309
    Zustimmungen:
    0
    MacUser seit:
    03.04.2005
    der Teil hat auch Fehler:
    echo '<br>Folgende Daten wurden abgespeichert: <br> Name - '. $_POST[vorname],' '.$_POST[name],'<br>Stra&szlig;e & Hausnummer - '.$_POST[adresse],'<br>PLZ - '.$_POST[plz],'<br>Wohnort - '.$_POST[wohnort],'<br>Telefon - '.$_POST[phon],'<br>Email - '.$_POST.;

    sollte so heissen:

    echo '<br>Folgende Daten wurden abgespeichert: <br> Name - '. $_POST[vorname].' '.$_POST[name].'<br>Stra&szlig;e & Hausnummer - '.$_POST[adresse].'<br>PLZ - '.$_POST[plz].'<br>Wohnort - '.$_POST[wohnort].'<br>Telefon - '.$_POST[phon].'<br>Email - '.$_POST[email];

    also statt Kommas nach den Variablen sollten da Punkte stehen...
     
  5. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    MacUser seit:
    21.08.2005
    Noch immer Problem bei Ausgabe

    Also, ich habe versucht die Variablen zu benennen, ich habe das fehlende "echo" eingesetzt und die Kommas gegen Punkte ausgetauscht.
    - Aber das alles hat leider nicht den Fehler behoben...
    Ich vermute, daß der Fehler kurz vor oder nach dem ersten Kommentar liegt, weil hier die falsche Ausgabe beginnt (sogar schon in der Mitte des Kommentars ab: "s... Unabhängig auch davon, ob die Daten (vorname, usw.) vom HTML-Formular gepostet wurden...
    Woran liegt denn das?)
     
  6. hossa

    hossa MacUser Mitglied

    Beiträge:
    309
    Zustimmungen:
    0
    MacUser seit:
    03.04.2005
    Probiers mal so:

    PHP:
    <?php

    if ($_POST["vorname"] && $_POST["name"] && $_POST["b_day"] && $_POST["mat_nr"] && $_POST["adresse"] && $_POST["plz"] && $_POST["wohnort"] && $_POST["phon"] && $_POST["email"]){

        echo 
    "<br>Folgende Daten wurden abgespeichert: <br> Name - ".$_POST["vorname"]." ".$_POST["name"]."<br>Stra&szlig;e & Hausnummer - ".$_POST["adresse"]."<br>PLZ - ".$_POST["plz"]."<br>Wohnort - ".$_POST["wohnort"]."<br>Telefon - ".$_POST["phon"]."<br>Email - ".$_POST["email"];

    }else{

        echo 
    "Vervollst&auml;ndigen Sie bitte folgende Angabe/n:";

        if (!
    $_POST["vorname"]){
            echo 
    "<br>Vorname";
        }
        if (!
    $_POST["name"]){
            echo 
    "<br>Name";
        }
        if (!
    $_POST["adresse"]){
            echo 
    "<br>Adresse";
        }
        if (!
    $_POST["plz"]){
            echo 
    "<br>Postleitzahl";
        }
        if (!
    $_POST["wohnort"]){
            echo 
    "<br>Wohnort";
        }
        if (!
    $_POST["phon"]){
            echo 
    "<br>Telefon";
        }
        if (!
    $_POST["email"]){
            echo 
    "<br>E-Mail";
        }
    }

    ?>
     
    Zuletzt bearbeitet: 22.08.2005
  7. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    MacUser seit:
    21.08.2005
    Hab's probiert, das Problem besteht immer noch, wie zu Beginn beschrieben...

    Das hier ist übrigens mal zum Vergleich das ursprüngliche Skript, das auch funktioniert, ein etwas anderer Zusammenhang, aber im Grunde fast dasselbe...
    (Kein besonders origineller Text, aber auf den kommt's im Moment ja auch nicht an.)

    Code:
    <?php
     
     if ($_POST[vorname] and $_POST[nachname] and $_POST[email] and $_POST[feedback]) {
      echo '<br>Vielen Dank '.$_POST[vorname],' '.$_POST[nachname],'.<br>  Wir haben ihre Email-Adresse '.$_POST[email],' aufgenommen, Sie nehmen damit an unserem w&ouml;chentlichen Gewinnspiel teil.  <br> Gewinner werden per Email benachrichtigt.  Zu gewinnen ist jeweils ein Jahresabonnement unserer Printausgabe.' ;
      if ($feedback == "sehr gut") {
      echo '<br>Vielen Dank f&uuml;r die  sehr gute Bewertung!';
      } elseif ($feedback == "gut") {
      echo '<br>Vielen Dank f&uuml;r die gute Bewertung!';
      } elseif ($feedback == "schlecht") {
      echo '<br>Also nee!';
      } elseif ($feedback == "sehr schlecht") {
      echo '<br>Na, h&ouml;r&acute;n Sie mal!';
    }} 
    
     else {
     echo 'Vervollst&auml;ndigen Sie bitte folgende Angabe/n:';
      
     if (!$vorname) {
     echo '<br>Vorname';
    }
     if (!$nachname) {
     echo '<br>Nachname';
    }
     if (!$email) {
     echo '<br>Email';
    }
     if (!$feedback) {
     echo '<br>Feedback';
    }}
    
    ?>
     
  8. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    MacUser seit:
    21.08.2005
    Und noch eine Frage: Wie bekommt man das Fenster, in dem der PHP-Code besser zu lesen ist?
     
  9. Rupp

    Rupp MacUser Mitglied

    Beiträge:
    7.543
    Zustimmungen:
    603
    MacUser seit:
    10.10.2004
    mit dem button über dem texteingabefeld... das kleine dokument weit rechts wo klein "PHP" drin steht!
    oder einfach mit dem Tag:

    [ PHP ]hier kommt dann der code rein![/ PHP ]

    (wenn dus anwendest musst du aber die leerzeichen in den eckigen klammern weglassen)
     
    Zuletzt bearbeitet: 22.08.2005
  10. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    MacUser seit:
    21.08.2005
    Screenshot vom Problem bei der Ausgabe

    Da das Problem noch immer besteht und ich meine Hausarbeit in 13 Tagen in der FH abliefern muß, hier noch ein Screenshot von der fehlerhaften Ausgabe. Vielleicht erkennt jemand so um welchen Fehler es sich handelt...
    Weiß nicht mehr, was ich noch probieren soll.
     

    Anhänge:

Die Seite wird geladen...

Diese Seite empfehlen