Problem: Formular auswerten funktioniert nicht

Begonnen von kat_bln, 09. Februar 2006, 16:22:24

Vorheriges Thema - Nächstes Thema

kat_bln

Brauche dringend Eure Hilfe, habe ein Formular ins Netz gestellt, soweit so gut, doch jedes mal
wenn ich das Formular absenden möchte und er das kontaktformular-auswerten.php aufrufen
müßte bekomme ich diese Nachricht:
The requested URL /kontaktformular-auswerten.php was not found on this server.
So langsam bin ich am verzweifeln.
Ich bin eh nicht so firm was php angeht, und hoffe daher auf eure Hilfe.

kontaktformular
-->
 
 
   
     
        Anrede:
       
     
     
         Vorname:*
       
     
     
        Nachname:*
       
     
     
        Firma:
       
     
     
        Ihre Rufnummer:*
         
         
           
     
     
        Betreff:
       
          Antrag
          Ratenzahlung
          Werbung
       
     
     
        Kurzmitteilung:
       
     
     
        Wünsche Termin:
        Ja
                   
          Nein          
     
     
         
       
           
     
     
        Bitte ausfüllen *
       
         
             
           
         
     
   
 
 
kontaktformular-auswerten.php
 
 
 
Vielen Dank schon mal im vorraus!!!
kat_bln

haraldos


Original von kat_bln The requested URL /kontaktformular-auswerten.php was not found on this server.
[/quote]
Bedeutet, dass Deine Zieldatei nicht da ist wie das form-action hin verweist.
Da Du method=\"post\" angibst, solltest Du in Deiner kontaktformular-auswerten.php mit $_POST anstelle von $_REQUEST arbeiten. Hat aber nix mit Deinem eigentlichen Problem zu tun.
http://de.profile.xfire.com/haraldos\" rel=\"external nofollow\">http://de.miniprofile.xfire.com/bg/co/type/2/haraldos.png\" alt=\"haraldos.png\">

kat_bln

Die Bedeutung des \"The requested URL....\" habe ich schon verstanden, was ich allerdings nicht verstehen kann, warum das so ist da, beide Scripte hochgeladen wurden. Sprich, es muß ein Fehler im Script sein.

Powie


kat_bln

Ja, das tun sie, daher kann ich nicht verstehen das er es nicht finden kann.

t-bra

Wenn Dein Web auf einem Linux-Server liegt, schau dir mal die Dateinamen genau an. Linux unterscheidet bei Dateinamen die Groß- und Kleinschreibung, d.h. für den Server ist
\"Kontaktformular-Auswerten.php\" nicht das selbe wie
\"kontaktformular-auswerten.php\".
Vielleicht hilft das ja.

\"Wenn man alles richtig gemacht hat, fällt den meisten Leuten überhaupt nicht auf, dass man überhaupt irgend etwas gemacht hat.\"


kat_bln

Habe, jetzt noch mal nachgeschaut und das Problem Weiterleitung gelöst, habe anstatt kontakt nur kontak ohne t zu stehen gehabt.
Meine Freude war riesen groß, glaubte ich doch das Prob. wäre gelöst, aber zu früh gefreut.
Wie gesagt er leitet sie weiter, aber dann kommt schon die nächste Hürde:
Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite.
Obwohl alle Felder ausgefüllt sind ob Pflicht oder nicht, schickt er die Mail nicht raus. HEUL
Ich habe nur noch 1 1/2 Tage Zeit dann muss das ganze stehen, ich sehe schwarz!!!
@ powie welche Werte soll ich anstatt von $_REQUEST mit $_POST austauschen? Da gibt es ja so einige, oder etwa alle?
Sorry für die vielen Fragen, aber wie oben schon erwähnt sind das meine ersten Schritte mit php.
Vielen Dank!

t-bra

Bei Deinem Code kann nichts anderes passieren. Du gibst in Deinem Formular den verschiedenen Formular-Feldern jeweils einen eineindeutigen Namen, z.B. gibst Du dem Feld, wo später mal der Vorname drin stehen soll, den Namen \"Email2\"


 Vorname:*

 
In Deinem Auswertungsscript \"fragst\" Du aber nach völlig andern Bezeichnungen. Darum geht bereits deine erste Bedingung


if($_REQUEST[\'Send\'])

 
absolut ins Leere. Ein Variable \"Send\" existiert schlicht und ergreifend nicht in den vom Formular übergebenen Variablen und somit springst Du auf dem direkten Weg in dein \"else\" am Ende.
Du solltest also am Besten bei den ganzen \"Inputs\" im Formular die Bezeichnungen entsprechend anpassen.
Als kleine Überprüfung, um zu sehen, was Dein php Skript überhaupt übergeben bekommt, kannst Du ja mal zu Testzwecken


 print_r($_REQUEST);
echo \"\";

 
am Anfang des Auswertungsscriptes einfügen.

\"Wenn man alles richtig gemacht hat, fällt den meisten Leuten überhaupt nicht auf, dass man überhaupt irgend etwas gemacht hat.\"


kat_bln

Ok, habe im Laufe des Tages noch ein paar Tips bekommen, die ich auch geändert habe, und das Ergebniss es funktioniert immer noch nicht. Um Euch über die Veränderungen auf dem laufenden zu halten poste ich das neue Script nochmal, vieleicht findet ihr ja den Übeltäter.
kontaktformular.php
 
 
 
 
   
     
        Anrede:
       
     
     
         Vorname:*
       
     
     
        Name:*
       
     
     
        Firma:
       
     
     
        Ihre Rufnummer:*
         
         
           
     
     
        Betreff:
       
          Antrag
          Ratenzahlung
          Werbung
       
     
     
        Nachricht
       
     
     
        Wünsche Termin:
        Ja
                   
          Nein          
     
     
         
       
           
     
     
        Bitte ausfüllen *
       
         
             
           
         
     
   
 
kontaktformular-auswerten.php
 

zurück und füllen Sie alle Felder aus!\";
   }
   else
   {
      $Mailnachricht = \"Sie haben folgende Nachricht erhalten: \\n\\n\";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!=\"Send\")
         {
            $Mailnachricht .= $Formularfeld.\": \".$Wert.\"\\n\";
         }
      }
      $Mailnachricht .= \"\\nDatum/Zeit: \";
      $Mailnachricht .= date(\"d.m.Y H:i:s\");
      $Mailbetreff = \"Kontakt: \";
      $Mailbetreff .= $_REQUEST[\'Betreff\'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, \"From: \".$_REQUEST[\'Email\']);
      echo\"Vielen Dank für Ihre eMail!\";
   }
}
else
{
   echo\"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite.\";
}
?>
 
PS: t-bra deine Tips habe ich schon umgesetzt gehabt, ist aber auch nicht das Hauptproblem.
Wo genau soll ich print_r($_REQUEST);
 echo \"\"; einfügen?

t-bra

In \"kontaktformular-auswerten.php\", das sollte dann in etwa so


\";
$Empfaenger = \"xxx@info  ...usw...usw

 
 
aussehen und macht nichts anderes, als Dir die vom Formular übergebenen Variablem incl. deren Werte auf dem Bildschirm auszugeben.
Ansonsten kann ich Dir nur noch folgenden Link empfehlen:
http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/\" rel=\"external nofollow\">http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/
 - Editiert von t-bra am 11.02.2006, 00:14 -

\"Wenn man alles richtig gemacht hat, fällt den meisten Leuten überhaupt nicht auf, dass man überhaupt irgend etwas gemacht hat.\"


all your base are belong to us / Discord