php-skript zur formularbearbeitung

hi leutz!
ich brauchte ein Skript das ein Formular bearbeitet. nun war ein freund von mir so nett und hat mir ein PHP-Skript geschrieben:
PHP:


<?php
if($_GET['msg'] == 'wap.wctf')
{
foreach($_POST as $i => $j)
{
$content .= $j . 'n';
}
if(!mail('jimmy_hanrun@yahoo.de','One more entry!',$content))
{
echo 'Sorry! Couldn\'t transmit your entries!';
exit;
}
}
echo 'Die Angaben wurden gesendet!';
?>





es funktioniert ja alles ganz gut, aber das wichtigste funktioniert nicht:
die eingetragenen eingaben werden nicht mitgeshcickt... da ich nun von PHP überhaupt nichts checke weiß ich jetzt nicht was ich machen soll...

kann mir einer helfen?

Mfg J!M!
 
erstmal: was heißt
die eingetragenen eingaben werden nicht mitgeshcickt
wird nur eine leere Email geschickt ? oder kommt gar keine Mail an? oder kommt da ein fehler beim ausführen des Scripts ?
falls du eine leere Email ankommt versuch doch mal zu kucken was er da überhaupt schicken will.
dazu füge mal folgenden Code anstelle deines Codes ein
PHP:
<?php 
if($_GET['msg'] == 'wap.wctf') 
{ 
foreach($_POST as $i => $j) 
{ 
$content .= $j . 'n'; 
} 
echo 'In \$Content steht folgender Text:'.$content; 
?>
damit kannst du dir das ankucken was er dort schicken soll. steht da nichts drin liegt es daran das in $_POST nichts steht.

mfg
püppi
 
das skript sah dann nun so aus, nachdem ich einige fehler so weit ich kann (ich kann ja kein PHP) entfernt habe:
<
PHP:
 ?php if($_GET['msg'] == 'wap.wctf')
{
$content .= $Formular . 'n';
}
if(!mail('jimmy_hanrun@yahoo.de','In \$Content steht folgender Text:', 'One more entry!',$content))
{
echo 'Sorry! Couldn\'t transmit your entries!';
exit;
}
echo 'Die Angaben wurden gesendet!'; ?>
dann war als überschrift in der mail "In \$Content steht folgender Text:", der inhalt war "One more Entry"....
 
kuck dir mal hier die argumente der funktion mail an, und dann kuck dir nochmal deine funktion an.
da ich ja immer noch nich weis nun eigentlich dein problem is kann ich dir immer noch nich weiter helfen...

mfg
püppi
 
PHP:
mail("jimmy_hanrun@yahoo.de","In \$Content steht folgender Text:", "One more entry! $content")
Versuchs mal so. Vorher wurde $content als header mitgegeben, was wohl nicht die Idee war, wenn ich das ganze richtig verstanden habe.
 
PHP:
<?php
if($_GET['msg'] == 'wap.wctf')
{
   foreach($_POST as $i => $j)
      $content .= $j .'\n';

   if(!mail('jimmy_hanrun@yahoo.de','Neuer Eintrag!',$content))
   {
      echo 'Aufgrund eines Fehlers konnten ihre Eingaben nicht übermittelt werden.!';
      exit;
   }
}
echo 'Die Mail enthält folgenden Inhalt:\n';
echo $content;
echo '\nDie Angaben wurden gesendet!';
?>

Tausch mal das gesammte PHP-Script von oben gegen das hier aus.
 
ich habe jetzt das:
PHP:
 <?php


$strFrom = '"Formmailer" <mail-adress>';


$strSubject = 'New Entry!';

$strReturnhtml = 'adresse';


$strDelimiter = ":\t";



if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}

if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}

?>
..... und es funktioniert ziemlich gut....mfg J!M!
 
Eigentlich dürfte das aber nicht funktionieren:
$strEmpfaenger wurde nicht definiert!
Auserdem solltest du $strFrom lieber so definieren:
PHP:
$strFrom = "'Formmailer' <mail-adress>";
Ansonsten lässt sich nur sagen, dass das Programm nicht alzu sauber programiert wurde, da auf sämtliche Einrückungen verzichtet wurde und unnötige '{' und '}' vorhanden sind, die das ganze Script unübersichtlich machen.
 
Zurück
Oben