php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.05.2008, 13:48  
Benutzer
 
Registriert seit: 04.11.2007
Beiträge: 59
alfonsodiecko
Standard Formular schickt keine Email

Habe ein Formular, welches aber die Daten an die E-mail add nicht weiter gibt finde nun auch nicht den Fehler:
PHP-Code:
<?PHP

$script 
'http://' $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];

$errorFields = array('Name',
                     
'email',
                     
'System_Name',
                     
'Download_URL',
                     
'system'
);    

for(
$x=0;$x<count($errorFields);$x++)
{
    
$errorClass[$errorFields[$x]] = 'inputField';
}

if(isset(
$_POST['submit']))
{
    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
    
        if(empty(
$_POST[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errorField';
            
$errorPicture[$value] = '[img]achtung_klein.gif[/img]';
        }
    
    }

}

if(
$_GET['check'] == "TRUE")
{
    
$errorMessage '<table width="100%" class="errorTable"><tr><td>[b]
             Ihre Eintrag war erfolgreich![/b]


             Ihre Daten wurden weitergeleitet.</td></tr></table>
'
;
}

if(isset(
$_POST['submit'])){
    
    if(
$error == TRUE)
    {
        
$errorMessage '<table width="100%" class="errorTable"><tr><td>
                 [img]achtung_gross.gif[/img]</td><td>[b]Achtung![/b]

                 Es ist zu einem Fehler gekommen. Bitte füllen Sie alle 
                 farblich markierten Pflichtfelder aus.</td></tr></table>
'
;
    }
    else
    {
        
    
mail("info@cms-demo.org",$_POST['Name'],$_POST['email'],$_POST['System_Name'],$_POST['system'],$_POST['Download_URL']); 
    }

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Formular</title>
<link rel="stylesheet" type="text/css" href="formStyle.css">
</head>

<body>
<FORM action="<?PHP echo $script?>" method=post>

<TABLE width="420" border=0 align="center" cellPadding=0 cellSpacing=0>
    <TR>
      <TD bgcolor="#000000" >[img]transparent.gif[/img]</TD>
    </TR>
    <TR>
        <TD height=2></TD>
    </TR>
    <TR>
        <TD height=18 class=headlineweiss>
            <div align="center">[b]CMS-DEMO - Opensource Script hinzufügen[/b]</div>
        </TD>
    </TR>
</table>
  

<TABLE width="420" align="center" border="0"  class="table">
    <TR>
        <TD colSpan=4>
            <div align="justify">
</div>
        </TD> 
    </TR>
    <TR>
        <TD colSpan=4><?PHP echo $errorMessage?></TD>
    </TR>
    <TR>
        <TD align=center colSpan=4></TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['Name']; ?>Vorname:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['Name']; ?>" name="Name" value="<?PHP echo $_POST['Name']; ?>"></TD>
        
    </TR>

    <TR>
        
        <TH align=left><?PHP echo $errorPicture['email']; ?>Email:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['email']; ?>" name="email" value="<?PHP echo $_POST['email']; ?>"></TD>
    </TR>
    <TR>
        
        <TH align=left><?PHP echo $errorPicture['System_Name']; ?>System-Name:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['System_Name']; ?>" name="System_Name" value="<?PHP echo $_POST['System_Name']; ?>"></TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['system']; ?>System Kategorie:*</TH>
            <TD colSpan=3>
                <SELECT size="1" name="system" class="<?PHP echo $errorClass['system']; ?>">
                <OPTION value="" <?PHP if(empty($_POST['system'])) echo 'selected'?>>Bitte ausw&auml;hlen</OPTION>
                <OPTION value="7" <?PHP if($_POST['system'] == "3") echo 'selected'?>>CMS</OPTION>
                <OPTION value="6" <?PHP if($_POST['system'] == "2") echo 'selected'?>>Foren</OPTION>
                <OPTION value="5" <?PHP if($_POST['system'] == "1") echo 'selected'?>>Blogs</OPTION>
                <OPTION value="4" <?PHP if($_POST['system'] == "3") echo 'selected'?>>Galleries</OPTION>
                <OPTION value="3" <?PHP if($_POST['system'] == "2") echo 'selected'?>>e-Commerce</OPTION>
                <OPTION value="2" <?PHP if($_POST['system'] == "1") echo 'selected'?>>Groupware</OPTION>
                <OPTION value="1" <?PHP if($_POST['system'] == "1") echo 'selected'?>>Wiki</OPTION>
        </SELECT>
            </TD>
    </TR>
    <TR>
        
        <TH align=left><?PHP echo $errorPicture['Download_URL']; ?>Download URL:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['Download_URL']; ?>" name="Download_URL" value="<?PHP echo $_POST['Download_URL']; ?>"></TD>
    </TR>
    <TR>
        <TD align=center colSpan=4><HR></TD>
    </TR>
    <TR>
        <TD align=right colSpan=4>
            <INPUT name="submit" type="submit" value="Absenden" class="button">
        </TD>
    </TR>
</TABLE>

</FORM>

</body>
</html>
Schon mal danke im voraus
alfonsodiecko ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.05.2008, 17:08  
Erfahrener Benutzer
 
Registriert seit: 27.08.2004
Beiträge: 239
vollkommenegal
Standard

Erste Regel beim Programmieren mit PHP: error_reporting in der php.ini auf E_ALL setzen:

error_reporting = E_ALL

Falls man nicht an die php.ini kommt, da man bspw. direkt auf einem externen Webserver arbeitet (was man nie tun sollte), kann man es auch direkt im Skript machen:

error_reporting(5);

Den Rest überlasse ich erst einmal Dir, denn mit dem Entfernen der Notices hast Du genug zu tun und in den meisten Fällen hängt ein Fehler mit den Notices zusammen.

cya
vollkommenegal ist offline  
Alt 10.05.2008, 20:19  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

1) ist deine emailadresse korrekt eingetragen?
2) method=post bitte durch method="post" ersetzen
3) wenn du das local auf deinem Windows-rechner testest, dann wird es mit der funktion mail nur dann klappen, wenn du ein email-server hast.
4) die funktion mail liefert ein boolean wert als parameter zurück, wenn das false ist, dann kannst du auch eine meldung senden, dass mail nicht gesendet wurde.
5) $script = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];
bringt nicht immer die passenden ergebnis, schrebe besser $_SERVER['PHP_SELF'] in Formular- action rein.
6) die Logik in deinem Select ist falsch. Das kann so nicht funktionieren, da ein mehr-auswahl nur zusammen mit dem select-parameter 'multiple' möglich ist und die Name von select am ende klammer haben [].

Die aussage von vollkommenegal ist richtig.
Schreib in der erster Zeile
error_reporting(E_ALL);
damit du die mögliche
__________________
Slava
http://bituniverse.com
Slava ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Email aus Formular kontrollieren will nicht so recht... PHP Tipps 2006 7 24.05.2006 15:57
Email Formular funzt net thomson PHP Tipps 2006 25 03.04.2006 12:59
Formular an 2 Email adressen senden PHP Tipps 2006 7 07.01.2006 17:54
Subject in Email Formular PHP Tipps 2005-2 1 10.09.2005 12:58
Bild per email über Formular versenden PHP Tipps 2005-2 8 30.07.2005 14:46
[Erledigt] Datei per PHP Formular an Email Adresse PHP Tipps 2005-2 1 28.06.2005 16:22
Email Formular Beitragsarchiv 11 14.04.2005 08:41
Html Formular per email PHP Tipps 2005 1 30.03.2005 17:17
Formular an meine Email adresse senden 'progman' PHP Tipps 2005 1 01.03.2005 19:43
[Erledigt] Formular optimierung und Email check PHP Tipps 2004-2 2 29.12.2004 10:43
PHP Email Formular mit einem bzw. mehreren Anähngen PHP-Fortgeschrittene 1 11.12.2004 22:34
Wie implementiere ich mein Email Formular? PHP Tipps 2004-2 2 14.11.2004 17:02
Suche eMail Formular in PHP Beitragsarchiv 2 12.10.2004 16:24
email formular: Name wird nicht übergeben PHP Tipps 2004 3 19.06.2004 13:36
formular und email PHP Tipps 2004 5 18.06.2004 21:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
achtung_klein.gif, formular script das eine email schickt, form action= \<?php echo $script; ?>\, php formular schickt keine mail, http://www.php.de/php-tipps-2008/45898-formular-schickt-keine-email.html, $email = $_post[\'email\'], php email.value

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.