php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-02-2006, 00:09
Newbie_K
 Newbie
Links : Onlinestatus : Newbie_K ist offline
Registriert seit: Feb 2006
Beiträge: 4
Newbie_K ist zur Zeit noch ein unbeschriebenes Blatt
Question Affenformular

hallo allseits,

ich habe ein problem mit meinem anfrageformular auf meiner website.
das formular kann leer versendet werden. ich möchte aber, dass einige felder pflichtfelder sind (z.b. das e-mail und namensfeld). ich habe schon herausgefunden, dass ich da ein php affenformular erstellen muss. nach meinen bisherigen recherchen zu dieser thematik bin ich immer noch nicht schlauer und weiß nicht, wie ich das auf mein formular anwenden kann.



kann mir jemand helfen?

hier mal mein formular: http://www.justamood.de/anfragen.htm
und die bisherige formmailer.php datei:

------------------------------------------------------------------------------------------------
<?php
$strEmpfaenger = 'reineckefuchs@gmx.de';
$strFrom = '"Formmailer" <IhrAndererName@provider.xy>';
$strSubject = 'Anfrageformular';
$strReturnhtml = 'mail_feedback.htm';
$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;
}

?>
<!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">

<dl>
<dt>Anrede:</dt>
<dd><input type="radio" name="anrede" value="Frau" />Frau <input type="radio" name="anrede" value="Mann"/>Mann</dd>

<dt>Name:</dt><dd><input type="text" name="name" /></dd>
<dt>Firma:</dt><dd><input type="text" name="firma" /></dd>
<dt>E-Mail:</dt><dd><input type="text" name="e-mail" /></dd>
</dl>
<p>

<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
Mit Zitat antworten
  #2 (permalink)  
Alt 13-02-2006, 13:01
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Ich weiß zwar nicht, was ein Affenformular ist...

*Google*

Aha!

Zitat:
In einem zweiten Schritt wird man aus diesem Formular ein sogenanntes Affenformular machen, indem man dafür sorgt, dass das Formular sich selbst aufruft und seine alten Werte immer wieder einsetzt. Es heißt Affenformular, weil eine Million Affen dieses Formular eine Million mal aufrufen können, ohne etwas zu bewirken.
Also. Folgender Code ersetzt die Zeilen zwischen einschließlich "mail(..." bis "exit":

Vor dem Versenden der Mail prüfst Du, ob deine Pflichtfelder einen Wert besitzen:

PHP-Code:
$valid true;
if (
strlen(trim($_POST["email"])) < 1// Wenn keine Mailadresse angegeben....
 
$valid false;
if (
strlen(trim($_POST["name"])) < 1// Wenn kein Name angegeben...
  
$valid false;


// Wenn $valid immer noch true ist, wurden die Pflichtfelder ausgefüllt und wir versenden die Mail:

if ($valid)
 { 
mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
  or die(
"Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
 }
// ansonsten senden wir die Mail nicht ab und leiten nicht zur 
// "Dankeschön"-Seite weiter, sondern definieren eine
// Fehlermeldung, die im Formular ausgegeben wird:

else
 {
  
$message "Bitte füllen Sie die Pflichtfelder aus!";
 } 
Für die eventuelle Ausgabe der Fehlermeldung platzierst Du folgenden Schnipsel irgendwo im HTML-Code:

PHP-Code:
<?
 
if ($message)
  {
    echo 
"<font style='color:red'>$message</font>";
  } 
 
?>
Alles ungetestet, sollte aber gehen.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-02-2006, 13:29
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.php-resource.de/forum/sea...der=descending
Mit Zitat antworten
  #4 (permalink)  
Alt 13-02-2006, 14:25
Newbie_K
 Newbie
Links : Onlinestatus : Newbie_K ist offline
Registriert seit: Feb 2006
Beiträge: 4
Newbie_K ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielen dank. ich probier das mal.
Mit Zitat antworten
  #5 (permalink)  
Alt 14-02-2006, 12:42
Newbie_K
 Newbie
Links : Onlinestatus : Newbie_K ist offline
Registriert seit: Feb 2006
Beiträge: 4
Newbie_K ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo pekka,

wenn ich das so mache, wie du es beschrieben hast, erscheint nach absenden des formulars eine leere seite anstatt der dankes-seite (bzw. "mail_feedback.htm"). ...und der formularinhalt wird auch nicht zu meiner e-mail-adresse gesendet.

so sieht die geänderte formmailer.php datei aus:

PHP-Code:
<?php

$strEmpfaenger 
'reineckefuchs@gmx.de';
$strFrom       '"Justamood.de" <IhrAndererName@provider.xy>';
$strSubject    'Anfrageformular';
$strReturnhtml 'mail_feedback.htm';
$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);}

$valid true;
if (
strlen(trim($_POST["email"])) < 1// Wenn keine Mailadresse angegeben....
 
$valid false;
if (
strlen(trim($_POST["name"])) < 1// Wenn kein Name angegeben...
  
$valid false;


// Wenn $valid immer noch true ist, wurden die Pflichtfelder ausgefüllt und wir versenden die Mail:

if ($valid)
 { 
mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
  or die(
"Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
 }
// ansonsten senden wir die Mail nicht ab und leiten nicht zur 
// "Dankeschön"-Seite weiter, sondern definieren eine
// Fehlermeldung, die im Formular ausgegeben wird:

else
 {
  
$message "Bitte füllen Sie die Pflichtfelder aus!";
 }
exit;}

?>
den html-code der formularseite habe ich auch erweitert, wie du es vorgeschlagen hast.

hätte ich in der php datei noch etwas ergänzen müssen und habe ich fehler in der html datei? leider verstehe ich das php-script ab der ersten if abfrage nicht richtig, da ich zu wenig hintergrundwissen habe.
Mit Zitat antworten
  #6 (permalink)  
Alt 14-02-2006, 12:54
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Das exit nach $message = ... raus! So wie es ist, ist klar, daß das danach folgende Formular nicht mehr angezeigt wird.
Mit Zitat antworten
  #7 (permalink)  
Alt 14-02-2006, 15:20
Newbie_K
 Newbie
Links : Onlinestatus : Newbie_K ist offline
Registriert seit: Feb 2006
Beiträge: 4
Newbie_K ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nun kommt die anzeige "Bitte füllen Sie die Pflichtfelder * aus!"
irgendwas scheint in dem script immer noch nicht zu funktionieren. undzwar wird das formular, trotz ausgefüllter pflichtfelder (name, firma, e-mail), nicht versendet.

auch komisch ist, dass wenn man die formularfelder ausfüllt, (ohne bereits den submitt-button gedrückt zu haben) zwischendurch fehlermeldungen kommen.

"the following error occured, firma is requirred, e-mail is requirred)"
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
Contact Form PHP ansehen Contact Form PHP

Each website needs a contact form - Contact Form PHP script is very easy to install on your contacts page and administer.

27.06.2022 nevenov | Kategorie: PHP/ Formular
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:58 Uhr.