Formmailer PHP - missing fields
ejunky
- php
Hallo zusammen
ich habe mir grad die Anleitung zum PHP-Formmailer angesehen und getestet, funzt ganz wunderbar. Ich möchte gern noch verhindern, dass das Formular leer versendet werden kann.
<code><input type=hidden name="required" value="Vorname,Name,Nachricht"></code>
ich weiss aber nicht wie ich die in das php-script integriere, wenn ich die änderung im HTML-Teil mache, kann das F immernoch leer verschickt werden.
Kann mir jemand einen Tipp geben?
Danke
Hallo,
ich weiss aber nicht wie ich die in das php-script integriere, wenn ich die änderung im HTML-Teil mache, kann das F immernoch leer verschickt werden.
Du kannst doch einfach beim PHP abfragen, ob das Feld leer ist und dann ne Fehlermeldung ausgeben.
gruß aus Senftenberg am See
wie und wo muss ich das denn in das Script eintragen?
<?php
$strEmpfaenger = 'th@xxx.de';
$strFrom = '"thema" IhrAndererName@provider.xy';
$strSubject = 'Anfrage';
$strReturnhtml = 'http://www.....html';
$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;
}
?>
Hallo,
ich weiss aber nicht wie ich die in das php-script integriere, wenn ich die änderung im HTML-Teil mache, kann das F immernoch leer verschickt werden.
Du kannst doch einfach beim PHP abfragen, ob das Feld leer ist und dann ne Fehlermeldung ausgeben.gruß aus Senftenberg am See
Hallo,
if($_POST)
{
$strMailtext = "";
if ($_POST['feld']=='') die('Das Feld darf nich leer sein');
und statt feld benutzt du den Namen des entsprechenden Feldes.
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
gruß aus Senftenberg am See
Parse error: parse error, unexpected T_STRING in line 60
Hab ich da was vergessen?
.
.
.
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
if($_POST)
{
$strMailtext = "";
if ($_POST['E-Mail']=='') die('Das Feld darf nich leer sein');
und statt feld benutzt du den Namen des entsprechenden Feldes.
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
?>
Hallo,
Parse error: parse error, unexpected T_STRING in line 60
Entweder Anführungszeichen, Semikola oder Klammern vergessen.
Hab ich da was vergessen?
Was steht denn in Zeile 60?
Dein Feldname ist wirklich E-Mail?
<input type="text" name="E-Mail">E-Mail</input>
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}if($_POST)
{
$strMailtext = "";
if ($_POST['E-Mail']=='') die('Das Feld darf nich leer sein');
und statt feld benutzt du den Namen des entsprechenden Feldes.while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}?>
gruß aus Senftenberg am See
hab hier nochmal das komplette script, in zeile 60 stand der kommentar „...und statt feld benutzt du den Namen des entsprechenden Feldes.“
habe ich rausgenommen, jetzt fehler in 103.-das nerft.
also:
<?php
$strEmpfaenger = 'th@mail.de';
$strFrom = '"thema" IhrAndererName@provider.xy';
$strSubject = 'Anfrage';
$strReturnhtml = 'http://www...';
$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;
}
if($_POST)
{
$strMailtext = "";
if ($_POST['E-Mail']=='') die('Das Feld darf nich leer sein');
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Einfacher PHP-Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Beispielformular</h1>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
<dt>Ihr Name:</dt>
<dd><input type="text" name="Versender" /></dd>
<dt>Ihre E-Mail:</dt>
<dd><input type="text" name="E-Mail" /></dd>
<dt>Sie können:</dt>
<dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd>
<dt>Sie sind:</dt>
<dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd>
<dt>Sie mögen:</dt>
<dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd>
<dt>Bemerkungen:</dt>
<dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd>
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
Hallo,
Parse error: parse error, unexpected T_STRING in line 60
Entweder Anführungszeichen, Semikola oder Klammern vergessen.
Hab ich da was vergessen?
Was steht denn in Zeile 60?
Dein Feldname ist wirklich E-Mail?
<input type="text" name="E-Mail">E-Mail</input>
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}if($_POST)
{
$strMailtext = "";
if ($_POST['E-Mail']=='') die('Das Feld darf nich leer sein');
und statt feld benutzt du den Namen des entsprechenden Feldes.while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}?>
gruß aus Senftenberg am See
Hallo,
hab hier nochmal das komplette script, in zeile 60 stand der kommentar „...und statt feld benutzt du den Namen des entsprechenden Feldes.“
den Kommentar solltest du auch nich so übernehmen.
habe ich rausgenommen, jetzt fehler in 103.-das nerft.
103 ist wo?
gruß aus Senftenberg am See