Ankündigung

Einklappen
Keine Ankündigung bisher.

FORMULAR AUFTRAG !!!

Einklappen

Neue Werbung 2019

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

  • FORMULAR AUFTRAG !!!

    hallo leute, ich habe ein grosses problem und weiss echt nicht weiter. ich
    kenne mich in php nicht gut aus und habe verscheidene anleitungen aus
    dem inet versucht nur hat keine der anleitungen funktioniert.

    ich habe ein formular erstellt http://www.wow-botschaft.de/ps/schritt_1.html

    wenn ich dort die daten ausfülle und auf senden klicke, dann bekomme ich
    zwar eine email, aber es sind keine daten drin. es stehen zwar alle
    formular felder drin aber ohne die eingegebenen daten des users.


    hier der inhalt der mail die ich erhalte:

    name:
    vorname:
    strasse:
    plz:
    ort:
    alter:
    geb_datum:
    tel:
    mail:
    www:
    icq:
    msn:

    allerdings fehlen die gesamten daten, die felder wo die daten reinkommen
    sollen werden gesendet, nur die user eingaben fehlen leider.


    hier der inhalt der send.php

    <?php

    // Receiving variables
    @$name = addslashes($_GET['name']);
    @$vorname = addslashes($_GET['vorname']);
    @$strasse = addslashes($_GET['strasse']);
    @$plz = addslashes($_GET['plz']);
    @$ort = addslashes($_GET['ort']);
    @$alter = addslashes($_GET['alter']);
    @$geb_datum = addslashes($_GET['geb_datum']);
    @$tel = addslashes($_GET['tel']);
    @$mail = addslashes($_GET['mail']);
    @$www = addslashes($_GET['www']);
    @$icq = addslashes($_GET['icq']);
    @$msn = addslashes($_GET['msn']);

    //Sending Email to form owner
    $pfw_header = "From: $mail\n"
    . "Reply-To: $mail\n";
    $pfw_subject = "bewerbung";
    $pfw_email_to = "taurus_bln@web.de";
    $pfw_message = "name: $name\n"
    . "vorname: $vorname\n"
    . "strasse: $strasse\n"
    . "plz: $plz\n"
    . "ort: $ort\n"
    . "alter: $alter\n"
    . "geb_datum: $geb_datum\n"
    . "tel: $tel\n"
    . "mail: $mail\n"
    . "www: $www\n"
    . "icq: $icq\n"
    . "msn: $msn\n";
    @mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;

    echo("<p align='center'><font face='Arial' size='3' color='#FF0000'>Vielen Dank wir haben Deine Bewerbung erhalten und
    werden diese umgehen bearbeiten.</font></p>");
    ?>


    ich weiss echt nicht wo da der fehler drin sein soll. das formular soll später
    über mehrere seiten erfolgen bzw. hat das formular 4 schritte. ich habe
    eine gute anleitung gefunden wie ich die daten in das nächste formular
    übergeben kann, nur so lange das mit dem senden nicht funktioniert hat
    es keinen sinn weiter zu machen.


    es wäre super nett wenn mir jemand sagen könnte wo der fehler liegt, ich
    kann dort in der send.php mit meinen oho kenntnissen echt keinen fehler
    finden.

    danke im vorraus

    edit: kann mir evtl. jemand einen kostenlosen formular genrator
    empfehlen der auch funktioniert ? was ich auch gerne haben würde das die
    daten auch auf dem server in einer text datei gespeichert werden und
    nicht nur per mail versendet werden. vielleicht kann mir da ja auch
    jemand weiter helfen. ich wäre aber schon sehr froh wenn mir jemand bei
    dem haupt problem helfen könnte so das der versand des formulars
    funktioniert.

  • #2
    An den Anfang des Skripts
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ?>
    setzen und alle @ im Text entfernen. Die Unterdrücken nämlich Fehler, ziemlich lästig wenn es eben doch Fehler gibt.

    Außerdem ist das hier Blödsinn:
    PHP-Code:
    <form> 
    Besser:
    PHP-Code:
    <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="get">
    Und als ernst gemeinten Tipp: Benutz das Tutorial das du verwendet hast
    nicht mehr. Ich weiß nicht, was sich manche Tutorial-Ersteller dabei
    denken, einem Anfänger ein Skript zuzumuten, das Fehler unterdrückt. Grade die machen doch leichter Fehler...


    Edit: du hast nur einen Link auf "send.php". Du musst das
    Formular schon mit einem Submit-Button weiterleiten.
    http://de.selfhtml.org/html/formulare/definieren.htm

    Kommentar


    • #3
      danke für deine schnelle antwort. ich habe die sachen wie du beschriben
      hast abgeändert und einen submit button eingebaut, jedoch erhalte ich
      jetzt wenn ich auf senden gehe jedesmal den fehler 403 - zugriff
      verweigert.

      ich habe alle dateien auf dem server die rechte 777 gegeben, woran kann
      es denn jetzt noch liegen ?

      hier der button den ich eingebaut habe:

      PHP-Code:
      <?php
      <input tabindex="" name="gesendet" value="Bewerbung Senden" onclick="warten()" type="submit" />
      ?>
      der button war in der inet anleitung mit dabei, sollte aber erst auf seite 4
      erfolgen. ich habe ihn jetzt test weise auf seite 1 eingefügt, nur es klappt
      leider nicht.

      weisst du was ich jetzt wieder falsch gemacht habe ?

      danke im vorraus

      Kommentar


      • #4
        Re: probleme mit formular

        Zitat von bashiba
        http://www.wow-botschaft.de/ps/schritt_1.html
        <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="get">
        PHP in HTML geht nicht. Sorry mein Fehler.
        Statt <?php print $_SERVER['PHP_SELF']; ?> einfach "send.php" eintragen.

        Kommentar


        • #5
          gut, ich danke dir der erste schritt funktioniert.

          eine frage hätte ich noch, kann ich diese funktion so wie sie hier beschrieben ist in mein formular einbauen
          oder wird es dort dann wieder probleme geben ?



          Wer von Ihnen bereits komplexe Formulare erstellt hat, der kennt das
          Problem. Bei Formularen, die sich über mehrere Seiten erstrecken,
          müssen die jeweiligen Eingaben von Formular zu Formular übergeben
          werden. Dies kann recht aufwendig sein, da dies meist über versteckte
          Formularfelder geschieht. Mit einer kleinen PHP Funktion kann man die
          versteckten Formularfelder dynamisch erzeugen.



          Beispiel – function.inc.php

          PHP-Code:
          <?php
          <?php
          function form_daten() {
              if (isset(
          $_POST)) {
                  foreach (
          $_POST as $key => $element) {
                      echo 
          "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
                  }
              }
              else {
                  foreach (
          $_GET as $key => $element) {
                      echo 
          "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
                  }
              }
          }
          ?>

          ?>


          Die Funktion form_daten() ist recht einfach aufgebaut. Die Bedingung prüft
          mit Hilfe der Funktion isset(), ob die jeweiligen Arrays gesetzt wurden.
          Anschliessend wird das entsprechende superglobale Array $_POST oder
          $_GET, durch die foreach-Schleife weiter verarbeitet. Mit ihr wird der
          Schlüssel, oder Index des Arrays, sowie der zugewiesene Wert ermittelt,
          und dann im versteckten Formularfeld wieder ausgegeben, sodass die
          Daten erneut an das nächste Skript verschickt werde können.



          in meinem formular wurde ja das get verwendet. kann ich das post aus
          dem beispiel mit dem get einfach ersetzen ?

          ich habe gelesen das ich dann einfach die datei function.inc.php die ich
          oben gepostet habe includieren muss und dann sollte es funktionieren. ist
          das so richtig ?

          mein formular erstreckt sich über 4 seiten bis dann der eigentliche sumit
          button kommt.

          danke im vorraus

          Kommentar


          • #6
            Zitat von bashiba
            Wer von Ihnen bereits komplexe Formulare erstellt hat, der kennt das
            Problem. Bei Formularen, die sich über mehrere Seiten erstrecken,
            müssen die jeweiligen Eingaben von Formular zu Formular übergeben
            werden. Dies kann recht aufwendig sein, da dies meist über versteckte
            Formularfelder geschieht.
            Vergiss die versteckten Eingabefelder und arbeite stattdessen mit Sessions. Dann müssen die Daten auch nur einmal und nicht nach jedem Formular erneut geprüft werden.

            In der Funktion macht die Überprüfung mit isset($_POST) wenig Sinn, da das $_POST-Array automatisch gesetzt ist, egal ob die Datei per POST- oder per GET-Methode aufgerufen wurd. Stattdessen bietet sich ein Test auf $_SERVER['REQUEST_METHOD'] an. Alternativ könnte auch einfach das gewünschte Array als Parameter an die Funktion übergeben werden.

            Zitat von bashiba
            ich habe gelesen das ich dann einfach die datei function.inc.php die ich
            oben gepostet habe includieren muss und dann sollte es funktionieren. ist
            das so richtig ?
            Ja, das solltest du tun, damit PHP auch den Code der Funktion form_daten() kennt.

            Dennoch würde ich an deiner Stelle wie oben bereits geschrieben, Sessions verwenden.

            Kommentar


            • #7
              wenn ich es richtig verstanden habe muss ich diese zeile

              PHP-Code:
              <?php
              <form action="senden.php" method="get">
              ?>
              mit dieser zeile ersetzen

              PHP-Code:
              <?php
              <form action="schritt_2.html" method="get">
              ?>
              und in schritt 2 dann die funktion

              PHP-Code:
              <?php
              <?php include("./function.inc.php"); ?>
              ?>
              mit einbauen und dann noch

              PHP-Code:
              <?php
              <?php form_daten(); ?>
              ?>
              hinzufügen und dann sollte es mit schritt 3 weiter gehen oder ?

              Kommentar


              • #8
                Zitat von xabbuh
                Zitat von bashiba
                Wer von Ihnen bereits komplexe Formulare erstellt hat, der kennt das
                Problem. Bei Formularen, die sich über mehrere Seiten erstrecken,
                müssen die jeweiligen Eingaben von Formular zu Formular übergeben
                werden. Dies kann recht aufwendig sein, da dies meist über versteckte
                Formularfelder geschieht.
                Vergiss die versteckten Eingabefelder und arbeite stattdessen mit Sessions. Dann müssen die Daten auch nur einmal und nicht nach jedem Formular erneut geprüft werden.

                In der Funktion macht die Überprüfung mit isset($_POST) wenig Sinn, da das $_POST-Array automatisch gesetzt ist, egal ob die Datei per POST- oder per GET-Methode aufgerufen wurd. Stattdessen bietet sich ein Test auf $_SERVER['REQUEST_METHOD'] an. Alternativ könnte auch einfach das gewünschte Array als Parameter an die Funktion übergeben werden.

                Zitat von bashiba
                ich habe gelesen das ich dann einfach die datei function.inc.php die ich
                oben gepostet habe includieren muss und dann sollte es funktionieren. ist
                das so richtig ?
                Ja, das solltest du tun, damit PHP auch den Code der Funktion form_daten() kennt.

                Dennoch würde ich an deiner Stelle wie oben bereits geschrieben, Sessions verwenden.

                hm...ich danke dir für deine antwort. ich muss die aber gleich sagen das
                ich mich mit php nicht auskenne. ich will lediglich dieses formular für
                unsere gildengemeinschaft erstellen und zum laufen bekommen. ich
                arbeite mit dreamweaver und weiss zwar was eine session ist aber ich
                wüsste nicht wie ich das mit dem formular realisieren könnte. für ein
                beispiel wäre ich dir dankbar.

                das mit den sessions klingt auch eigentlich interessant, aber wie gesagt ich
                kenne mich mit php nicht aus.

                Kommentar


                • #9
                  mal ne andere frage, was würde es mich kosten wenn einer von euch der sich mit
                  php auskennt mir mein formular fertig baut ?

                  das formular geht über 4 seiten und auf der letzten seite können die user ein paar
                  bilder hochladen.

                  die daten sollen dann von einem ins andere formular übergeben werden und dann im
                  letzten schritt alle zusammen gesendet werden.

                  ich möchte die daten dann per email erhalten und sie sollen auch auf dem server in
                  einer datei gespeichert werden. was auch wichtig ist das man die bilder den usern
                  zuordnen kann. was ich mir da vorstellen könnte, jeder user muss seinen namen
                  angeben. mann kann es ja sicher so einrichten das der name und vorname des
                  users als bilsname eingefügt wird oder ?

                  also z.b. peter müller bewirbt sich und sendet z.b. 5 bilder mit, dann müsste der
                  bildname lauten peter_müller_1.jpg, peter_müller_2.jpg etc.

                  also wer interesse hat dieses formular entgeldlich für mich zu machen kann mir ja
                  mal eine mail an taurus_bln@web.de oder eine pm schicken was es mich ca. kosten
                  würde. da es sich um ein nicht kommerzielles projekt handelt und nur unserer gilden
                  gemeinschaft dient kann ich natürlich nicht einen "normalen" programmierer
                  beschäftigen da dies sicher zu teuer werden würde.

                  aber ich lasse mich auch gerne vom gegenteil überzeugen. also bitte schickt mir eure

                  angebote.

                  danke

                  Kommentar


                  • #10
                    Nach dem Versenden der Formulare prüfst du jeweils die Daten, die der Benutzer eingegeben hat. Sind diese in Ordnung, speicherst du die Daten in der Session und leitest zum nächsten Formular weiter. Wurde alle Formulare vollständig verarbeitest, befinden sich alle Daten zentral in der Session und du kannst die Daten verarbeiten.

                    Kommentar


                    • #11
                      Zitat von xabbuh
                      Nach dem Versenden der Formulare prüfst du jeweils die Daten, die der Benutzer eingegeben hat. Sind diese in Ordnung, speicherst du die Daten in der Session und leitest zum nächsten Formular weiter. Wurde alle Formulare vollständig verarbeitest, befinden sich alle Daten zentral in der Session und du kannst die Daten verarbeiten.
                      hm das klingt leicht, nur wenn man von phpkeine ahnung hat ist es schwer
                      umzusetzen.

                      was würdest du denn dafür haben wollen wenn du mir das kurz machst ?

                      Kommentar

                      Lädt...
                      X