Problem bei der Ausgabe

  1. librarian

    librarian Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2005
    Beiträge:
    36
    Zustimmungen:
    0
    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';
    }}
    
    ?>
     
    librarian, 22.08.2005
  2. ThaHammer

    ThaHammerMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    Auf die schnelle

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

    Hier fehlt doch der echo Befehl.
     
    ThaHammer, 22.08.2005
  3. Jakob

    JakobMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    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';
    }}

    ?>
     
    Jakob, 22.08.2005
  4. hossa

    hossaMacUser Mitglied

    Mitglied seit:
    03.04.2005
    Beiträge:
    309
    Zustimmungen:
    0
    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...
     
    hossa, 22.08.2005
  5. librarian

    librarian Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2005
    Beiträge:
    36
    Zustimmungen:
    0
    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?)
     
    librarian, 22.08.2005
  6. hossa

    hossaMacUser Mitglied

    Mitglied seit:
    03.04.2005
    Beiträge:
    309
    Zustimmungen:
    0
    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";
        }
    }

    ?>
     
    hossa, 22.08.2005
  7. librarian

    librarian Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2005
    Beiträge:
    36
    Zustimmungen:
    0
    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';
    }}
    
    ?>
     
    librarian, 22.08.2005
  8. librarian

    librarian Thread StarterMacUser Mitglied

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

    RuppMacUser Mitglied

    Mitglied seit:
    10.10.2004
    Beiträge:
    7.557
    Zustimmungen:
    603
    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)
     
    Rupp, 22.08.2005
  10. librarian

    librarian Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2005
    Beiträge:
    36
    Zustimmungen:
    0
    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:

    • screenshot_php_ausgabe.JPG
      Dateigröße:
      52,1 KB
      Aufrufe:
      21
    librarian, 23.08.2005
Die Seite wird geladen...
Ähnliche Themen - Problem bei Ausgabe
  1. sjoerd
    Antworten:
    5
    Aufrufe:
    567
  2. tafkas
    Antworten:
    2
    Aufrufe:
    405
  3. Christian_V
    Antworten:
    1
    Aufrufe:
    481
    oneOeight
    13.04.2007
  4. Tehes
    Antworten:
    4
    Aufrufe:
    992
  5. macddict
    Antworten:
    5
    Aufrufe:
    674
    macddict
    16.06.2006