Keine Rückgabe nach Absenden eines Formulares

~SpArGs~

Erfahrenes Mitglied
Greetings

Ich habe mein bisheriges Mailscript immer erfolgreich anpassen können, doch nun hat sich irgendwie ein Fehler eingeschlichen. Und zwar hab ich eine HTML Seite mit einem Kontaktformular welches beim Absenden ein PHP Script mit der Mailfunktion aufruft.
Nun auf meinem Webhoster läuft das alles einwandfrei (auch bei NICHTEINGABE der Pflichtfelder = Errormeldung) aber auf einem anderen Host wo die Seite schlussendlich laufen sollte, bekomme ich keine Rückmeldung.

Das Script wird ganz normal aufgerufen:

Code:
<form name="kontakt" action="send_kontakt.php" method="post">

Nun weiss ich eigentlich überhaupt nicht woran das liegen könnte, ev. brauch ich das Script anders aufzurufen?

Vielen Dank für eure Hilfe
 
Wie fragst Du im Script die übergebenen Daten des Formulars ab?
Mit
PHP:
$name_des_inputfeldes
oder mit
PHP:
$_POST['name_des_inputfeldes']
?
Letztes ist auf jeden Fall empfehlenswerter.

snuu
 
Halli Hallo

Also ich verwende folgendes:
Code:
$name_des_inputfeldes


Das zweitere kenn ich gar nicht, was ist denn da genau der Unterschied?
 
Seit der PHP-Version 4.2 ist der Parameter register_globals defaultmäßig deaktiviert, so dass Du mit Deiner alten Methode nicht mehr auf die Variablen zugreifen kannt. Nimm die Letztere und alles sollte wieder funktionieren.
$_POST beinhaltet dabei alle Parameter, die via POST-Methode übergeben wurden und $_GET alle, die via GET übergeben wurden. $_REQUEST enthält alles.

snuu
 
Hmm...komisch. Irgendwie geht der mir gar nicht in den PHP Part rein wenn ich keine Felder ausfülle (sollte Error Meldung erscheinen).

So sieht mein Script aus bis zur Mailfunktion:

Code:
<?php
IF (isset($_POST['btn_send']))

{
//Überprüfung der Plichtfelder
  IF ((!$_POST['txt_name']) || (!$_POST['txt_vorname']))
  {
  echo "
  Bitte füllen Sie alle nötigen Pflichtfelder aus. Benutzen Sie hierzu den <b>\"Zurück\"</b> Button <br> Ihres Browsers.";
  }
  ELSE
  {
  $user    = getenv("REMOTE_ADDR");
  $datum   = getdate();
  $browser = $HTTP_USER_AGENT;
  //Email start

Funktioniert aber auch mit der zweite Methode nicht :-/
 
Jo klaro.

Code:
<form name="kontakt" method="post" action="send_kontakt.php">
            <table width="100%"  border="0" class="content">
              <tr>
                <td width="16%">Name</td>
                <td width="84%"><input name="txt_name" type="text" id="txt_name">
                *Pflichtfeld</td>
              </tr>
              <tr>
                <td>Vorname</td>
                <td><input name="txt_vorname" type="text" id="txt_vorname">
                * Pflichtfeld </td>
              </tr>
              <tr>
                <td>Telefon</td>
                <td><input name="txt_tel" type="text" id="txt_tel"></td>
              </tr>
              <tr>
                <td valign="top">Kommentar</td>
                <td><textarea name="txt_bemerkung" cols="50" rows="8" id="txt_bemerkung"></textarea></td>
              </tr>
              <tr>
                <td valign="top">&nbsp;</td>
                <td><input name="btn_send" type="submit" id="btn_send" value="Senden">
                  <input type="reset" name="Submit" value="Zurücksetzen"></td>
              </tr>
</table>
</form>
 
Ich weiss nicht, was du machst, aber wenn ich mit Deinem geposteten Formular die nicht ausgefüllten Formularfelder an das Script sende, dann funktioniert es. Es wird also die Meldung angezeigt, dass die Pflichtfelder ausgefüllt werden sollen.

Einzig und allein die beiden schließenden geschweiften Klammern im PHP Code habe ich ergänzt.

snuu
 
Ja wie ich schon geschrieben habe bei mir lokal und auf meinem Webhoster funktioniert es ja auch (im Script sind keine Fehler), nur auf einem anderen Hoster geht das ganze leider nicht und ich dachte halt es könnte was mit dem POST Geschmeus zu tun haben...

Ev. liegt es an der php Konfiguration des anderen Hosters, wäre das Möglich?
 
Zurück