Problem Formular

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem Formular

    Hallo Experten!
    Ich habe ein Problem mit dem ich leider nicht klar komme, ich habe ein Bestellformular dass nach einem Serverumzug nicht mehr funktioniert.
    Dieses Bestellformular ist eine PHP-Datei und es gibt noch eine Ergebnis-Datei die auch eine PHP-Datei ist. Die Bestellung kommt bei mir zwar an, aber ohne Produkte und Daten, also leer. Ebenso bekommt der Kunde keine Bestätigungsmail. Ich kopiere mal die beiden Dateien hier rein, vielleicht kann mir jemand einen Tipp geben,
    vielen Dank im voraus!

    Die Bestelldatei (anfrage.php)

    Code:
    <body scroll="auto" bgcolor="#FFFFFF" text="#000000">
    <div align="center"><br> 
    </div>
    <table width="650" border="0" align="center">
      <tr>
        <td><div align="center">
          <table width="650" border="0" align="center">
            <tr>
              <td><form class="p1" action="ergebnis.php" method="post">
                  <table width="445" height="265" border="0" align="center" cellpadding="0" cellspacing="0">
                    <tr>
                      <td class="p1"><div align="right">
                          <div align="center"> </div>
                          </div></td>
                    </tr>
                    <tr>
                      <td><div align="center"><img src="phpformailer/img/spacer.gif" width="1" height="30">
                              <input type="submit" value="Senden" name="submit">
                              <input type="reset" value="Zur&uuml;cksetzen" 
    onClick="return confirm('Sind Sie sicher?')" name="reset">
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="center">
                          <p>&nbsp;</p>
                          <p><br>
                          </p>
                      </div></td>
                    </tr>
                  </table>
                  <?
    echo "<input type=hidden name=ipadress value=$REMOTE_ADDR>";
    ?>
              </form>
    Zuletzt geändert von TobiaZ; 01.07.2007, 12:00.

  • #2
    Und hier ist die zweite Datei:
    Die Ergebnisdatei die ausgelesen wird (ergebnis.php)


    PHP-Code:
    <?

    /*deine Webadresse hier eintragen*/
    $site_name = "meine-webseite.de";

    /*deine email hier eintragen*/  
    $site_email = "meine@email.de"; 
        
    /*
    im nächsten (if) wird festgelegt, dass wenn das Feld Ansprechpartner in der anfrage.php3 nicht ausgefüllt wird
    also leer bleibt ("")
    eine Meldung erfolgt (echo) ansonsten (else) wird das Formular weiterverarbeitet und es erfolgt ein OK.
    der Name nach dem Dollarzeichen ist dir freigestellt. Wichtig ist, dass die Namen hier
    mit den Namen der Textfelder in der anfrage.php3 übereinstimmen
    also nennst du z.B. das Feld Ansprechpartner in der anfrage.php3 nicht partner sondern fritz
    musst du hier anstatt $partner eben $fritz eintragen
    die Überprüfung mehrerer Felder könnte so aussehen
    */

    // if($partner == "" || $email == "" || $usw... == "")

    if ($partner == "") 
        {
        echo "<B>Die Anfrage kann nicht übermittelt werden!</B></td></tr></table>";
        echo "<BR>Bitte geben Sie zumindest einen Ansprechpartner ein.";
        }
        else
        {
        echo "<center><B>Ihre Anfrage wurde erfolgreich weitergeleitet</B></center>
    </td>
    </tr>
    </table>";

    /*
    hier folgt der Bestätigungstext den der User sieht wenn das Formular gesendet wurde
    $partner nach Herr/Frau bedeutet, der Name der ausgegeben wird ist der Name
    der in das Textfeld in der anfrage.php3 welches partner heißt eingegeben wurde
    $site_name ist deine URL die du ja oben schon bei site_name eingetragen hast
    */

    PRINT "<CENTER>";
    PRINT "<BR>Vielen Dank für Ihre Bestellung!<BR>
    Wir werden uns umgehend um Ihren Auftrag bemühen!<br>
    Einen schönen Tag wünscht Ihnen Ihr $site_name Team!<BR>";
    PRINT "</CENTER>";

    /* dies ist eine Mail die der Besucher erhält wenn er das Formular ausgefüllt und abgesendet hat
    also eine Bestätigungsemail von dir
    $email ist das Textfeld in der anfrage.php3 welches des Namen email hat.
    an die Adresse die der Besucher dort eingibt geht die Bestätigungsmail.
    mit dem Text den du hier siehst.
    */

    mail(". $_POST [ 'mail' ] .", 
    "Vielen Dank von $site_name!", "Dies ist eine Bestätigungsmail.
    Nochmals vielen Dank für Ihr Interesse.

    Ihre an uns übermittelten Daten lauten wie folgt:

    Anrede: $anrede
    Vorname: $vorname
    Name: $name
    Strasse: $strasse
    PLZ: $plz
    Ort: $ort
    Telefon: $telefon
    E-mail: $email
    Domain: $domain
    Hostpaket: $hostpaket
    Resellerpaket: $resellerpaket
    Bemerkungen: $bemerkungen

    ");
    /*hier ist die Mail die bei dir ankommt wenn der User über das Formular sendet
    ist vom Prinzip dasselbe wie die Bestätigungsmail*/

    mail("$site_email",
    "Online-Bestellung",
    "Online-Bestellung von: $name $vorname

    Anrede: $anrede
    Vorname: $vorname
    Name: $name
    Strasse: $strasse
    PLZ: $plz
    Ort: $ort
    Telefon: $telefon
    E-mail: $email
    Domain: $domain
    Hostpaket: $hostpaket
    Resellerpaket: $resellerpaket
    Bemerkungen: $bemerkungen

    Senderinformationen
    Sender:    $ipadress
    ");
    ?>
    EDIT:
    by TobiaZ: Code in eine halbwegs leserliche Form gebracht.
    Zuletzt geändert von Afacan; 01.07.2007, 13:30.

    Kommentar


    • #3
      ich habe ein Bestellformular dass nach einem Serverumzug nicht mehr funktioniert.
      Zum x-ten Mal: das ist keine Fehlerbeschreibung

      Außerdem, was soll das mit dem kompletten Code? Wer soll deiner Meinung nach lesen und korrigieren, zumal man nicht weiss, wafür Fehler dein Script hat! Was hast du schon beim Grunddebugging festgestellt? Unsere Regel schon gelesen?

      Kommentar


      • #4
        Tippe mal auf register_globals. Ersetz die Variablen ($) mal durch " . $_POST [ 'name' ] . ".
        PHP-Code:
         mail $email// " entfernen
        "Vielen Dank von " $site_name "!""Dies ist eine Bestätigungsmail.
        Nochmals vielen Dank für Ihr Interesse.
        __________________________

        Ihre an uns übermittelten Daten lauten wie folgt:

        Anrede: " 
        $_POST 'anrede' ] . "
        ... 
        EDIT:
        Code umbrechen!
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          @asp2php
          Tut mir Leid, mit dem gesamten Code dachte ich dass ich euch mein Problem näher bringen kann.

          @tontechniker
          Danke für den Tipp!
          Muss ich bei den Variablen zwischen den Zeichen auch diese Leerzeichen einfügen?

          Kommentar


          • #6
            Tut mir Leid, mit dem gesamten Code dachte ich dass ich euch mein Problem näher bringen kann.
            Weniger ist meistens mehr.
            Muss ich bei den Variablen zwischen den Zeichen auch diese Leerzeichen einfügen?
            Nein, ".$_POST['anrede']." tut es auch.

            Am besten editierst du deinen Beitrag nochmal, wirfst den überflüssigen HTML Code raus (im ersten ist nur das Formular ohne Tabelle interessant, im Zweiten reicht der PHP Code und ein Ausschnitt der E-Mail) und brichst zu lange Zeilen um damit man das hier auch lesen kann.
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #7
              Hab meinen beitrag nochma editiert und alles überflüssige rausgenommen, ich hoffe es passt so, Danke nochmal!

              Kommentar


              • #8
                tontechniker jetzt kommt die bestellung ordnungsgemäß bei mir an,
                nur bekommt der absender keine bestätigungsmail..??

                Kommentar


                • #9
                  Betreibe Debugging und gib alle relevanten Variablen an der Stelle mal aus. Was kommt raus? Was sollte rauskommen?

                  Kommentar


                  • #10
                    PHP-Code:
                     mail($_POST 'mail' ], 
                    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                    Kommentar


                    • #11
                      @TobiaZ
                      Danke für den Tip aber ich weiss nicht mal was debuggen heisst,
                      ich hab mir diese Datei vom Internet runtergeladen und an meine bedürnisse angepasst. Nach einem Serverumzug funktioniert es einfach nicht mehr...

                      Kommentar


                      • #12
                        Original geschrieben von tontechniker
                        PHP-Code:
                         mail($_POST 'mail' ], 
                        totntechniker ich habs geändert so wie angegeben aber bestätigungsmail kommt noch immer nicht an...

                        Kommentar


                        • #13
                          Danke für den Tip aber ich weiss nicht mal was debuggen heisst,
                          Dann hör auf zu "Programmieren". Das ist definitiv das falsche für dich! Sorry.

                          Da es sich um Bestellungen handelt, wirst du sicher ein paar Euros für jemanden locker machen können, der sich damit auskennt.

                          Kommentar


                          • #14
                            Es funktioniert Danke!
                            Nur die IP-Adresse des bestellers wird aus irgendeinem grund nicht mitgeschickt...

                            Kommentar


                            • #15
                              Tja, wenn es dich wirklich interessiert, dann musst du dich wohl oder übel doch langsam damit beschäftigen. Das Stichwort Register Globals wurde bereits genannt.

                              Kommentar

                              Lädt...
                              X