wheelie86: Formular will um's Verrecken nicht funktionieren

der Quelltext der kontakt.html (mailer.php liegt in einem parallelen Ordner zum html-Ordner, in dem sich die kontakt.html befindet):

<form action="../form/mailer.php" method="post">  
					<p><label for="name">Name:</label><br />  
					<input type="text" name="name" id="name" value="" /><br /></p>  
  
					<p><label for="emailad">Email:</label><br />  
					<input type="text" name="emailad" id="emailad" value="" /><br /></p>  
					<p><label for="message">Nachricht:</label><br />  
	  
					<textarea cols="40" rows="6" name="text" id="text"></textarea><br /></p>  
					<p class="lastformitem"><input type="submit" name="send" class="button" value="Weg damit!" /></p>  
				</form>

Und hier die mailer.php:

<?php  
  
#  
# patShaping Form E-Mail 2.3.5a  
#  
# Versenden einer E-Mail, die ueber ein Kontaktformular  
# geschrieben wurde.  
#  
# Autor:            Patrick Canterino <patrick@patshaping.de>  
# Letzte Aenderung: 14.4.2007  
#  
#  
# Einstellungen, Beschreibung siehe readme.txt  
  
$mailto          = 'feedback@beispiel.de';  
$default_subject = 'Feedback';  
$friendly_sender = 1;  
$show_starttext  = 1;  
$line_break      = 0;  
$add_header      = 1;  
  
# Ende Einstellungen  
  
$emailad = formdata('emailad');  
$name    = formdata('name');  
$subject = formdata('subject');  
$text    = formdata('text');  
  
# Pruefen, ob alle Formular-Felder ausgefuellt wurden  
  
if(!$name && !$emailad && !$subject && !$text) showhtml('include/no_data.inc');  
  
if(!$name)    showhtml('include/no_name.inc');  
if(!$emailad) showhtml('include/no_emailad.inc');  
if(!$text)    showhtml('include/no_text.inc');  
  
if(!$subject) $subject = $default_subject;  
  
# Betreff pruefen und ihn ggf. mit Quoted-Printable codieren (IMAP-Modul muss vorhanden sein)  
  
if(function_exists('imap_8bit') && preg_match("/[\200-\377]/",$subject))  
{  
 $subject_tmp = imap_8bit($subject);  
  
 if($subject_tmp != $subject)  
 {  
  $subject = str_replace(' ','_',$subject_tmp);  
  $subject = str_replace('"','=22',$subject);  
  $subject = "=?iso-8859-1?Q?$subject?=";  
  $subject = str_replace("=\015\012","?=\015\012         =?iso-8859-1?Q?",$subject);  
 }  
}  
  
# Pruefen, ob eingegebene E-Mail-Adresse (im Internet) gueltig ist  
# Danke an "ich" aus dem SELFHTML Forum fuer die Muehe  
  
if(!preg_match('/^([a-z0-9]+([\.]?|[-]?|[_]?)?)*([a-z0-9]+([\.]?[_]?)?)@([a-z0-9]+([\.]?|[-]?)?)*[a-z0-9]+\.{1}[a-z]{2,6}$/i',$emailad)) showhtml('include/invalid_emailad.inc');  
  
# Datum und Zeit bestimmen  
  
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Europe/Berlin');  
$zeit = getdate();  
  
# Wochentag herausfinden  
  
$wochentage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');  
$wochentag  = $wochentage[$zeit['wday']];  
  
# Datum und Uhrzeit formatieren  
  
$datum   = $zeit['mday'].'.'.$zeit['mon'].'.'.$zeit['year'];  
$uhrzeit = sprintf('%02d:%02d:%02d',$zeit['hours'],$zeit['minutes'],$zeit['seconds']);  
  
# E-Mail zusammensetzen  
  
if($show_starttext) $starttext = "$name ($emailad) schrieb am $wochentag, dem $datum, um $uhrzeit:\n\n";  
  
$mailtext = $starttext.$text;  
  
if($line_break && is_int($line_break)) $mailtext = wordwrap($mailtext,$line_break);  
  
$mailtext = preg_replace("/\015\012|\012|\015/","\n",$mailtext);  
  
# Header der E-Mail  
  
if($friendly_sender) $header = "From: $emailad\n";  
  
if($add_header)  
{  
 if(!$friendly_sender) $header .= "Reply-To: $emailad\n";  
 $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";  
 $header .= "Content-Transfer-Encoding: 8bit\n";  
 $header .= "MIME-Version: 1.0\n";  
 $header .= "X-Mailer: patShaping Form E-Mail 2.3.5a\n";  
 $header .= "X-Sender-IP: [".$HTTP_SERVER_VARS['REMOTE_ADDR']."]";  
}  
else $header .= "Reply-To: $emailad";  
  
# E-Mail versenden  
# Wenn die E-Mail nicht versendet werden kann, wird eine Fehlermeldung ausgegeben  
  
@mail($mailto,$subject,$mailtext,$header) || showhtml('include/send_error.inc');  
  
showhtml('include/mail_sent.inc');  
  
# E-Mail wurde versendet und Erfolgsmeldung ausgegeben  
  
# formdata()  
#  
# Formulardaten bei deaktiviertem register_globals auslesen  
#  
# Parameter:   Name des Formularfeldes  
#  
# Rueckgabe:   Inhalt des Formularfeldes (String oder Array)  
#  
# Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,  
#                wird nichts zurueckgegeben.  
#              - Codierende Backslashes werden automatisch entfernt  
  
function formdata($param)  
{  
 switch($HTTP_SERVER_VARS['REQUEST_METHOD'])  
 {  
  case 'GET':  
   if(isset($HTTP_GET_VARS[$param]))  
   {  
    $value = $HTTP_GET_VARS[$param];  
    break;  
   }  
   else return null;  
  
  case 'POST':  
   if(isset($HTTP_POST_VARS[$param]))  
   {  
    $value = $HTTP_POST_VARS[$param];  
    break;  
   }  
   else return null;  
  
  default:  
   return null;  
 }  
  
 if(get_magic_quotes_gpc())  
 {  
  if(is_array($value)) return array_map('stripslashes',$value);  
  else return stripslashes($value);  
 }  
 else return $value;  
}  
  
# showhtml()  
#  
# HTML-Datei anzeigen und Script beenden  
#  
# Parameter: HTML-Datei  
  
function showhtml($file)  
{  
 readfile($file);  
 exit;  
}  
  
#  
### Ende ###  
  
?>

Ich bin echt am verzweifeln, die einzige Ausgabe, die ich bekomme, ist diese:

Letzte Aenderung: 14.4.2007 # # # Einstellungen, Beschreibung siehe readme.txt $mailto = 'feedback@beispiel.de'; $default_subject = 'Feedback'; $friendly_sender = 1; $show_starttext = 1; $line_break = 0; $add_header = 1; # Ende Einstellungen $emailad = formdata('emailad'); $name = formdata('name'); $subject = formdata('subject'); $text = formdata('text'); # Pruefen, ob alle Formular-Felder ausgefuellt wurden if(!$name && !$emailad && !$subject && !$text) showhtml('include/no_data.inc'); if(!$name) showhtml('include/no_name.inc'); if(!$emailad) showhtml('include/no_emailad.inc'); if(!$text) showhtml('include/no_text.inc'); if(!$subject) $subject = $default_subject; # Betreff pruefen und ihn ggf. mit Quoted-Printable codieren (IMAP-Modul muss vorhanden sein) if(function_exists('imap_8bit') && preg_match("/[\200-\377]/",$subject)) { $subject_tmp = imap_8bit($subject); if($subject_tmp != $subject) { $subject = str_replace(' ','_',$subject_tmp); $subject = str_replace('"','=22',$subject); $subject = "=?iso-8859-1?Q?$subject?="; $subject = str_replace("=\015\012","?=\015\012 =?iso-8859-1?Q?",$subject); } } # Pruefen, ob eingegebene E-Mail-Adresse (im Internet) gueltig ist # Danke an "ich" aus dem SELFHTML Forum fuer die Muehe if(!preg_match('/^([a-z0-9]+([.]?|[-]?|[_]?)?)*([a-z0-9]+([.]?[_]?)?)@([a-z0-9]+([.]?|[-]?)?)*[a-z0-9]+.{1}[a-z]{2,6}$/i',$emailad)) showhtml('include/invalid_emailad.inc'); # Datum und Zeit bestimmen if(function_exists('date_default_timezone_set')) date_default_timezone_set('Europe/Berlin'); $zeit = getdate(); # Wochentag herausfinden $wochentage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'); $wochentag = $wochentage[$zeit['wday']]; # Datum und Uhrzeit formatieren $datum = $zeit['mday'].'.'.$zeit['mon'].'.'.$zeit['year']; $uhrzeit = sprintf('%02d:%02d:%02d',$zeit['hours'],$zeit['minutes'],$zeit['seconds']); # E-Mail zusammensetzen if($show_starttext) $starttext = "$name ($emailad) schrieb am $wochentag, dem $datum, um $uhrzeit:\n\n"; $mailtext = $starttext.$text; if($line_break && is_int($line_break)) $mailtext = wordwrap($mailtext,$line_break); $mailtext = preg_replace("/\015\012|\012|\015/","\n",$mailtext); # Header der E-Mail if($friendly_sender) $header = "From: $emailad\n"; if($add_header) { if(!$friendly_sender) $header .= "Reply-To: $emailad\n"; $header .= "Content-Type: text/plain; charset="iso-8859-1"\n"; $header .= "Content-Transfer-Encoding: 8bit\n"; $header .= "MIME-Version: 1.0\n"; $header .= "X-Mailer: patShaping Form E-Mail 2.3.5a\n"; $header .= "X-Sender-IP: [".$HTTP_SERVER_VARS['REMOTE_ADDR']."]"; } else $header .= "Reply-To: $emailad"; # E-Mail versenden # Wenn die E-Mail nicht versendet werden kann, wird eine Fehlermeldung ausgegeben @mail($mailto,$subject,$mailtext,$header) || showhtml('include/send_error.inc'); showhtml('include/mail_sent.inc'); # E-Mail wurde versendet und Erfolgsmeldung ausgegeben # formdata() # # Formulardaten bei deaktiviertem register_globals auslesen # # Parameter: Name des Formularfeldes # # Rueckgabe: Inhalt des Formularfeldes (String oder Array) # # Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist, # wird nichts zurueckgegeben. # - Codierende Backslashes werden automatisch entfernt function formdata($param) { switch($HTTP_SERVER_VARS['REQUEST_METHOD']) { case 'GET': if(isset($HTTP_GET_VARS[$param])) { $value = $HTTP_GET_VARS[$param]; break; } else return null; case 'POST': if(isset($HTTP_POST_VARS[$param])) { $value = $HTTP_POST_VARS[$param]; break; } else return null; default: return null; } if(get_magic_quotes_gpc()) { if(is_array($value)) return array_map('stripslashes',$value); else return stripslashes($value); } else return $value; } # showhtml() # # HTML-Datei anzeigen und Script beenden # # Parameter: HTML-Datei function showhtml($file) { readfile($file); exit; } # ### Ende ### ?>

Keine Formularfelder - nix außer dem Vorhergehenden.
Ich hoffe, ihr könnt mir helfen...

  1. Hallo,

    sieht so aus, als ob die Datei nicht über PHP geparst wird.
    Ist PHP denn auf deiner Umgebung verfügbar?

    Gruß Peter

    1. Ich habe XAMPP in der aktuellen Version laufen. Apache und MySQL gestartet (kein Häkchen in den Svc-Kästchen ist doch richtig, oder?) und trotzdem geht's nicht.

      1. Ich habe XAMPP in der aktuellen Version laufen. Apache und MySQL gestartet (kein Häkchen in den Svc-Kästchen ist doch richtig, oder?) und trotzdem geht's nicht.

        Und Du hast beide Ordner (html und form) als Unterordner im Ordner "htdocs"?
        Sonst gibt das nix.
        Sieht wirklich so aus, als wenn Dein Formmailer nicht geparst wird.

        Gruß, Thomas

        1. 'ǝɯɐu$ ıɥ

          Und Du hast beide Ordner (html und form) als Unterordner im Ordner "htdocs"?

          und du rufst es zb so auf: http://localhost/kontakt.html

          ssnɹƃ
          ʍopɐɥs

          --
          Answers: $1, Short: $5, Correct: $25, dumb looks are still free ...
          1. 'ǝɯɐu$ ıɥ

            Und Du hast beide Ordner (html und form) als Unterordner im Ordner "htdocs"?

            und du rufst es zb so auf: http://localhost/kontakt.html

            Korrekt, das ist auch wichtig. Danke für die Ergänzung.

            Gruss, Thomas

            1. und du rufst es zb so auf: http://localhost/kontakt.html

              AAARGH, Asche auf mein Haupt!
              Wer Pfade in der Adresszeile lesen kann, ist klar im Vorteil ^^
              Wenn der auf das file:-Verzeichnis geht, kann das ja gar nicht gehen ^^

              Das Problem wäre also gelöst, besten Dank!

              Nun das nächste: Egal, was ich im Formular eingebe, die Weiterleitung erfolgt auf die mailer.php, aber im Fenster steht immer: Es wurden keine Daten übergeben. Bin ich echt sooooo blöd?

              1. und du rufst es zb so auf: http://localhost/kontakt.html

                AAARGH, Asche auf mein Haupt!
                Wer Pfade in der Adresszeile lesen kann, ist klar im Vorteil ^^

                Lach :-)
                Ist aber vermutlich fast allen von uns schon mal passiert ;-)

                Nun das nächste: Egal, was ich im Formular eingebe, die Weiterleitung erfolgt auf die mailer.php, aber im Fenster steht immer: Es wurden keine Daten übergeben. Bin ich echt sooooo blöd?

                Lass Dir doch mal am Scriptanfang anzeigen, welche Variablen Du hast und wie sie belegt sind.

                <php
                phpinfo(INFO_VARIABLES);
                exit;
                ...
                ?>

                Grüße, Thomas

                1. <php
                  phpinfo(INFO_VARIABLES);
                  exit;
                  ...
                  ?>

                  Und wo genau gehört das hin? In die mailer.php direkt vor das erste Tag oder in die kontakt.html, wo sich das Formular befindet? Sorry, bin absoluter PHP-Neuling und versuche, mich da durch Lesen und learning-by-doing sowie haufenweise kommentierte Vorlagen reinzuarbeiten...

                  1. Und wo genau gehört das hin? In die mailer.php direkt vor das erste Tag oder in die kontakt.html, wo sich das Formular befindet? Sorry, bin absoluter PHP-Neuling und versuche, mich da durch Lesen und learning-by-doing sowie haufenweise kommentierte Vorlagen reinzuarbeiten...

                    In die mailer.php direkt hinter Dein

                    <php

                    gehört zum testen:

                    phpinfo(INFO_VARIABLES);
                    exit;

                    Dann könntest Du geststellen, dass Deine mailer.php

                    zwar $_POST['$name'] usw. kennt, aber eben nicht $name usw..

                    Grüße, Thomas

                    1. In die mailer.php direkt hinter Dein

                      <php

                      gehört zum testen:

                      phpinfo(INFO_VARIABLES);
                      exit;

                      Dann könntest Du geststellen, dass Deine mailer.php

                      zwar $_POST['$name'] usw. kennt, aber eben nicht $name usw..

                      Grüße, Thomas

                      Die relevanten Einträge sind die hier, oder?

                      _REQUEST["name"] Albert Einstein
                      _REQUEST["emailad"] Albert.Einstein@Relativ.com
                      _REQUEST["text"] ich habe nichts zu sagen.
                      _REQUEST["send"] Gib's mir!
                      _POST["name"]         Albert Einstein
                      _POST["emailad"] Albert.Einstein@Relativ.com
                      _POST["text"]         ich habe nichts zu sagen.
                      _POST["send"]         Gib's mir!

                      Und wie muss ich nun verfahren, damit das funktioniert?

                      1. Die relevanten Einträge sind die hier, oder?

                        _REQUEST["name"] Albert Einstein
                        _REQUEST["emailad"] Albert.Einstein@Relativ.com
                        _REQUEST["text"] ich habe nichts zu sagen.
                        _REQUEST["send"] Gib's mir!
                        _POST["name"]         Albert Einstein
                        _POST["emailad"] Albert.Einstein@Relativ.com
                        _POST["text"]         ich habe nichts zu sagen.
                        _POST["send"]         Gib's mir!

                        Und wie muss ich nun verfahren, damit das funktioniert?

                        Ja, das sind die relevanten Einträge.
                        Die sind einmal im Array $_REQUEST drin und einmal im ARRAY $_POST.
                        Dein Script versucht, das zu berücksichtigen.

                        Schau bitte jetzt mal nach, aus welcher der includierten Dateien Deine Fehlermeldung stammt. (Ich vermute, es ist die "no_data.inc".

                        Denn dann weißt Du, dass weder Name, noch mailadresse, noch Betreff, noch Text in Deinem Script unter den dort verwendeten Variablen angekommen sind.

                        Danach setz doch mal bitte anstelle von

                        phpinfo(INFO_VARIABLES);
                        exit;

                        von vorhin

                        phpinfo(INFO_VARIABLES);
                        echo ("Name: $name<br>");
                        echo ("Name2: $_POST['name<br>'];
                        exit;

                        Und erzähle uns, was Dein SDcript dazu sagt.

                        Grüße, Thomas

                        1. Danach setz doch mal bitte anstelle von

                          phpinfo(INFO_VARIABLES);
                          exit;

                          von vorhin

                          phpinfo(INFO_VARIABLES);
                          echo ("Name: $name<br>");
                          echo ("Name2: $_POST['name<br>'];
                          exit;

                          Und erzähle uns, was Dein SDcript dazu sagt.

                          Grüße, Thomas

                          Soll heißen:

                          phpinfo(INFO_VARIABLES);
                          echo ("Name: $name<br>");
                          echo ("Name2: $_POST['name']<br>";
                          exit;

                          1. Soll heißen:

                            phpinfo(INFO_VARIABLES);
                            echo ("Name: $name<br>");
                            echo ("Name2: $_POST['name']<br>";
                            exit;

                            Selber Fehler, selbe Stelle.

                            1. Soll heißen:

                              phpinfo(INFO_VARIABLES);
                              echo ("Name: $name<br>");
                              echo ("Name2: $_POST['name']<br>";
                              exit;

                              Selber Fehler, selbe Stelle.

                              Na ok, dann mach halt die Klammer noch zu:

                              echo ("Name2: $_POST['name']<br>");

                              1. Na ok, dann mach halt die Klammer noch zu:

                                echo ("Name2: $_POST['name']<br>");

                                Peinlich, dass ich das nicht gesehen hab - dennoch ist der Fehler exakt der gleiche.

                                1. Na ok, dann mach halt die Klammer noch zu:

                                  echo ("Name2: $_POST['name']<br>");

                                  Peinlich, dass ich das nicht gesehen hab - dennoch ist der Fehler exakt der gleiche.

                                  Dann schreibs mal so um:

                                  phpinfo(INFO_VARIABLES);
                                  echo ("Name: ".$name."<br>");
                                  echo ("Name2: ".$_POST['name']."<br>");
                                  exit;

                                  1. Dann schreibs mal so um:

                                    phpinfo(INFO_VARIABLES);
                                    echo ("Name: ".$name."<br>");
                                    echo ("Name2: ".$_POST['name']."<br>");
                                    exit;

                                    Nun hab ich die Tabelle mit den Variablen:

                                    _REQUEST["name"] Albert Einstein
                                    _REQUEST["emailad"] Albert.Einstein@Relativ.com
                                    _REQUEST["text"] Sein oder nicht Sein...
                                    _REQUEST["send"] Gib's mir!
                                    _POST["name"]         Albert Einstein
                                    _POST["emailad"] Albert.Einstein@Relativ.com
                                    _POST["text"]         Sein oder nicht Sein...
                                    _POST["send"]         Gib's mir!

                                    und darunter:

                                    Name:
                                    Name2: Albert Einstein

                                    1. und darunter:

                                      Name:
                                      Name2: Albert Einstein

                                      Ok. Damit wird klar, dass Deine Funktion "formdata" nicht funktioniert.

                                      Dann ersetze mal den Teil:

                                      $emailad = formdata('emailad');
                                      $name    = formdata('name');
                                      $subject = formdata('subject');
                                      $text    = formdata('text');

                                      und mache daraus:

                                      $emailad = $_POST['emailad'];
                                      $name    = $_POST['name'];
                                      $subject = $_POST['subject'];
                                      $text    = $_POST['text'];

                                      Viele kopieren diese Variablen nicht um, weils

                                      1. die Herkunft verschleiert und
                                      2. die Anzahl der möglichen Variablennamen unnötig verkleinert.

                                      Für heute solls mal genehm sein ;-)

                                      Und dann poaste, was Dein Script so macht.

                                      Grüße, Thomas

                                      P.S:

                                      Und löschen (falls Du willst) darfst Du getrost den nicht funktionierenden Teil:

                                      formdata()

                                      Formulardaten bei deaktiviertem register_globals auslesen

                                      Parameter:   Name des Formularfeldes

                                      Rueckgabe:   Inhalt des Formularfeldes (String oder Array)

                                      Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,

                                      #                wird nichts zurueckgegeben.
                                      #              - Codierende Backslashes werden automatisch entfernt

                                      function formdata($param)
                                      {
                                       switch($HTTP_SERVER_VARS['REQUEST_METHOD'])
                                       {
                                        case 'GET':
                                         if(isset($HTTP_GET_VARS[$param]))
                                         {
                                          $value = $HTTP_GET_VARS[$param];
                                          break;
                                         }
                                         else return null;

                                      case 'POST':
                                         if(isset($HTTP_POST_VARS[$param]))
                                         {
                                          $value = $HTTP_POST_VARS[$param];
                                          break;
                                         }
                                         else return null;

                                      default:
                                         return null;
                                       }

                                      if(get_magic_quotes_gpc())
                                       {
                                        if(is_array($value)) return array_map('stripslashes',$value);
                                        else return stripslashes($value);
                                       }
                                       else return $value;
                                      }

                                      1. ...

                                        und mache daraus:

                                        $emailad = $_POST['emailad'];
                                        $name    = $_POST['name'];
                                        $subject = $_POST['subject'];
                                        $text    = $_POST['text'];
                                        ...

                                        Also langsam verzweifel ich echt, die Ausgabe ist schon wieder die gleiche wie gerade eben.

                                        1. Also langsam verzweifel ich echt, die Ausgabe ist schon wieder die gleiche wie gerade eben.

                                          1. Welche Ausgabe von eben?
                                          2. Du sollst natürlich den Teil:

                                          phpinfo(INFO_VARIABLES);
                                          echo ("Name: ".$name."<br>");
                                          echo ("Name2: ".$_POST['name']."<br>");
                                          exit;

                                          jetzt komplett weider rausnehmen.

                                          Hey? Bitte ein bißchen mitdenken, ok?

                                          1. Hey? Bitte ein bißchen mitdenken, ok?

                                            Entschuldigung, mein Fehler. Wie gesagt, absolutes Neuland für mich.

                                            Nun ist der Inhalt der Datei "send_error.inc" zu sehen (Beim Versenden der E-Mail ist ein Fehler aufgetreten!).

                                            1. Hey? Bitte ein bißchen mitdenken, ok?

                                              Entschuldigung, mein Fehler. Wie gesagt, absolutes Neuland für mich.

                                              Nun ist der Inhalt der Datei "send_error.inc" zu sehen (Beim Versenden der E-Mail ist ein Fehler aufgetreten!).

                                              Na prima. Daran siehst Du, dass Dein Script zu laufen scheint.

                                              Deine nächsten Schritte:

                                              Lade es nun auf einen Webserver oder konfiguriere Dein XAMPP/Intranet so, dass es einen Mailversand beinhaltet.

                                              Grüße, Thomas

                                              1. Lade es nun auf einen Webserver oder konfiguriere Dein XAMPP/Intranet so, dass es einen Mailversand beinhaltet.

                                                Grüße, Thomas

                                                So, mit viel Suchen beim großen "G" und diversen Tests mit Einstellungen im Bereich [mail_function] (SMTP und sendmail_from) der php.ini bin ich nach wie vor am verzweifeln, denn nun bekomme ich den Fehler "verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()", mit dem ich trotz ausgiebiger Suche nichts anfangen kann.

                        2. Die relevanten Einträge sind die hier, oder?

                          _REQUEST["name"] Albert Einstein
                          _REQUEST["emailad"] Albert.Einstein@Relativ.com
                          _REQUEST["text"] ich habe nichts zu sagen.
                          _REQUEST["send"] Gib's mir!
                          _POST["name"]         Albert Einstein
                          _POST["emailad"] Albert.Einstein@Relativ.com
                          _POST["text"]         ich habe nichts zu sagen.
                          _POST["send"]         Gib's mir!

                          Und wie muss ich nun verfahren, damit das funktioniert?

                          Ja, das sind die relevanten Einträge.
                          Die sind einmal im Array $_REQUEST drin und einmal im ARRAY $_POST.
                          Dein Script versucht, das zu berücksichtigen.

                          Schau bitte jetzt mal nach, aus welcher der includierten Dateien Deine Fehlermeldung stammt. (Ich vermute, es ist die "no_data.inc".

                          Denn dann weißt Du, dass weder Name, noch mailadresse, noch Betreff, noch Text in Deinem Script unter den dort verwendeten Variablen angekommen sind.

                          Danach setz doch mal bitte anstelle von

                          phpinfo(INFO_VARIABLES);
                          exit;

                          von vorhin

                          phpinfo(INFO_VARIABLES);
                          echo ("Name: $name<br>");
                          echo ("Name2: $_POST['name<br>'];
                          exit;

                          Und erzähle uns, was Dein SDcript dazu sagt.

                          Grüße, Thomas

                          Korrekt, die Fehlermeldung steht so wortwörtlich in der "no_data.inc".

                          Nachdem ich dann das phpinfo-Zeug ersetzt habe, zeigt der Browser "Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\xampp\htdocs\Kopie von 3502\form\mailer.php on line 3".

                          Der dazugehörige Auszug:

                          echo ("Name2: $_POST['name<br>'];

                          1. Nachdem ich dann das phpinfo-Zeug ersetzt habe, zeigt der Browser "Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\xampp\htdocs\Kopie von 3502\form\mailer.php on line 3".

                            Deshalb ja mein Posting unter dem Namen:

                            kleine Korrektur ;-)

              2. 'ǝɯɐu$ ıɥ

                Nun das nächste: Egal, was ich im Formular eingebe, die Weiterleitung erfolgt auf die mailer.php, aber im Fenster steht immer: Es wurden keine Daten übergeben. Bin ich echt sooooo blöd?

                Hängt es daran? is doch unlogisch.

                  
                if(!$name && !$emailad && !$subject &&  !$text) showhtml('include/no_data.inc');  
                  
                if(!$name)    showhtml('include/no_name.inc');  
                if(!$emailad) showhtml('include/no_emailad.inc');  
                if(!$text)    showhtml('include/no_text.inc');  
                  
                if(!$subject) $subject = $default_subject;
                

                ssnɹƃ
                ʍopɐɥs

                --
                Answers: $1, Short: $5, Correct: $25, dumb looks are still free ...
                1. Hängt es daran? is doch unlogisch.

                  if(!$name && !$emailad && !$subject &&  !$text) showhtml('include/no_data.inc');

                  if(!$name)    showhtml('include/no_name.inc');
                  if(!$emailad) showhtml('include/no_emailad.inc');
                  if(!$text)    showhtml('include/no_text.inc');

                  if(!$subject) $subject = $default_subject;

                  
                  >   
                  > ssnɹƃ  
                  > ʍopɐɥs  
                    
                  Hi,  
                    
                  ist nicht zwingend unlogisch, da showhtml() ja ein exit; aufsetzt.  
                    
                  Ich denke eher, es liegt daran, dass das Script auf register globals on aufsetzt.  
                    
                  Daher kennt das Script die eingehenden Variablen nicht und muss in diesem Bereich angepasst werden. ;-)  
                    
                  Grüße, Thomas  
                    
                  
                  
                  1. 'ǝɯɐu$ ıɥ

                    ist nicht zwingend unlogisch, da showhtml() ja ein exit; aufsetzt.

                    Das kommt davon wenn man && für || liest *schäm*

                    Ich denke eher, es liegt daran, dass das Script auf register globals on aufsetzt.

                    Pöse :-(

                    Daher kennt das Script die eingehenden Variablen nicht und muss in diesem Bereich angepasst werden. ;-)

                    Besser is das!

                    ssnɹƃ
                    ʍopɐɥs

                    --
                    Answers: $1, Short: $5, Correct: $25, dumb looks are still free ...
        2. Ich habe XAMPP in der aktuellen Version laufen. Apache und MySQL gestartet (kein Häkchen in den Svc-Kästchen ist doch richtig, oder?) und trotzdem geht's nicht.

          Und Du hast beide Ordner (html und form) als Unterordner im Ordner "htdocs"?
          Sonst gibt das nix.
          Sieht wirklich so aus, als wenn Dein Formmailer nicht geparst wird.

          Gruß, Thomas

          Im Ordner htdocs hab ich nen Unterordner mit meinem Projekt, darin die Ordner html und form. Ist das schon ein Fehler?

          1. 'ǝɯɐu$ ıɥ

            Im Ordner htdocs hab ich nen Unterordner mit meinem Projekt, darin die Ordner html und form. Ist das schon ein Fehler?

            Nicht wenn du es richtig referenzierst/aufrufst.

            http://localhost/projektname/html/kontakt.html

            ssnɹƃ
            ʍopɐɥs

            --
            Answers: $1, Short: $5, Correct: $25, dumb looks are still free ...