SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.07.2010, 09:34:46
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
Probleme mit Scriptvorlage

Auch wenn der Thread ein wenig älter ist, stehe ich vor dem gleichen Problem.

Ich habe das Formular insoweit angepasst, das die gesammelten daten per email verschickt werden sollen.

Allerdings sind die Variablen nach dem Abschicken des Formulares leer.

Die Überprüfung der Pflichtfelder funktioniert, allerdings funktioniert mittlerweile auch das versenden per email nicht mehr.

error_reporting ist eingeschaltet, gibt aber keine Fehler raus.

PHP-Code:
echo '<pre>'
print_r($HTTP_POST_VARS);
echo 
'</pre>'
gibt nur Array {
}
raus.

Der PHP Teil des Formulares sieht so aus:

PHP-Code:
error_reporting(E_ALL E_NOTICE);
$script 'http://' $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];

$errorFields = array('firstname',
             
'telefone',
             
'lastname',
                     
'strasse',
                     
'plz_ort',
                     
'email'
            
);

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

if(isset(
$HTTP_POST_VARS['submit']))
{
    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
    
        if(empty(
$HTTP_POST_VARS[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errorField';
            
$errorPicture[$value] = '<img src="achtung_klein.gif">&nbsp;';
        }
    
    }

}

if(
$_GET['check'] == "TRUE")
{
    
$errorMessage '<table width="100%" class="errorTable"><tr><td><b>
             Ihre Anmeldung war erfolgreich.</b><br><br>
                 Vielen Dank dafür. Sofern Sie eine Email Adresse angegeben haben,
                         erhalten eine bestätigung für Ihre Anmeldung. Andernfalls warten Sie auf die Mitgliedsunterlagen.</td></tr></table><br>'
;
       


if(isset(
$HTTP_POST_VARS['submit'])){
    
    if(
$error == TRUE)
    {
        
$errorMessage '<table width="100%" class="errorTable"><tr><td>
                     <img src="achtung_gross.gif"></td><td><b>Achtung!</b><br>
                 Es ist zu einem Fehler gekommen. Bitte füllen Sie alle
                 farblich markierten Pflichtfelder aus.</td></tr></table><br>'
;
    }
    else
    {
        
        
// Alles ist in Ordnung
        // Daten können gespeichert werden
         
$betreff "Keine Ahnung irgendwas";

        
// Email zusammensetzen
        
$empfaenger "irgendeine@email.adresse"// Empfänger Adresse
        // Jetzt die eigentlich Nachricht
        
$nachricht '
        <html>
                <head>Anmeldung</head>
    <body>
            <p align="left">Hallo, mein Name ist '
.$HTTP_POST_VARS["firstname"].'&nbsp;'.$HTTP_POST_VARS["lastname"].'. Ich möchte mich gerne Ihrem Schwimmverein anschliessen.</p>
            <p align="left">Anrede: '
.$HTTP_POST_VARS["gender"].'</p>
            <p align="left">Strasse: '
.$HTTP_POST_VARS["strasse"].'</p>
            <p align="left">PLZ / Ort: '
.$HTTP_POST_VARS["plz_ort"].'</p>
            <p align="left">Meine Telefonnummer lautet: '
.$HTTP_POST_VARS["telefone"].'</p>
            <p align="left">Handy: '
.$HTTP_POST_VARS["mobilephone"].'</p>
            <p align="left">Meine Emailadresse: '
.$HTTP_POST_VARS["email"].'</p>
           </body>
        </html>
'
;
        
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header  'MIME-Version: 1.0' "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
// zusätzliche Header
$header .= 'From: noreply@ist_egal.de' "\r\n";

# Anti-header-injection
foreach($_REQUEST as $fields => $value) if(eregi("TO:"$value) || eregi("CC:"$value) || eregi("CCO:"$value) || eregi("Content-Type"$value)) exit("ERROR: Code injection attempt denied! Please don't use the following sequences in your message: 'TO:', 'CC:', 'CCO:' or 'Content-Type'.");
mail($empfaenger$betreff$nachricht$header);
}
        
// Seite neu laden und Hinweis anzeigen
        
header("Location: $script?check=TRUE");
    }


Das Formular so:

PHP-Code:
<!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 height=1 src="transparent.gif" alt =""width=1></TD>
    </TR>
    <TR>
        <TD height=2></TD>
    </TR>
    <TR>
        <TD height=18 class=headlineweiss>
            <div align="center"><strong>Anmeldung zum Schwimmen</strong></div>
        </TD>
    </TR>
</table>
  
<!-- Formular Anfang -->
<TABLE width="420" align="center" border="0"  class="table">
    <TR>
        <TD colSpan=4>
            <div align="justify"><br>
                Mit dem Ausfüllen dieses Formulars möchte ich gerne in den<br />
                                Schwimmverein eintreten<br><br></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['gender']; ?>Anrede:</TH>
            <TD colSpan=3>
                <SELECT size="1" name="gender" class="<?PHP echo $errorClass['gender']; ?>">
                <OPTION value="" <?PHP if(empty($HTTP_POST_VARS['gender'])) echo 'selected'?>>Bitte ausw&auml;hlen</OPTION>
                <OPTION value="3" <?PHP if($HTTP_POST_VARS['gender'] == "3") echo 'selected'?>>Dr.</OPTION>
                <OPTION value="2" <?PHP if($HTTP_POST_VARS['gender'] == "2") echo 'selected'?>>Frau</OPTION>
                <OPTION value="1" <?PHP if($HTTP_POST_VARS['gender'] == "1") echo 'selected'?>>Herr</OPTION>
        </SELECT>
            </TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['firstname']; ?>Vorname:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['firstname']; ?>" name="firstname" value="<?PHP echo $HTTP_POST_VARS['firstname']; ?>"></TD>
        <TH align=left><?PHP echo $errorPicture['lastname']; ?>Nachname:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['lastname']; ?>" name="lastname" value="<?PHP echo $HTTP_POST_VARS['lastname']; ?>"></TD>
    </TR>
        <TR>
            <TH align="left"><?PHP echo $errorPicture['strasse']; ?>Strasse:*</TH>
                    <td><input class="<?PHP echo $errorClass['strasse']; ?>" name="strasse" value="<?PHP echo $HTTP_POST_VARS['strasse']; ?>"></td>
            <th align="left"><?PHP echo $errorPicture['plz_ort']; ?>PLZ / Ort:*</th>
                <td><input class="<?PHP echo $errorClass['plz_ort']; ?>" name="plz_ort" value="<?PHP echo $HTTP_POST_VARS['plz_ort']; ?>"></td>

        </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['telefone']; ?>Telefon:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['telefone']; ?>" name="telefone" value="<?PHP echo $HTTP_POST_VARS['telefone']; ?>"></TD>
        <TH align=left>Fax:</TH>
            <TD><INPUT class="inputField" name="faximile" value="<?PHP echo $HTTP_POST_VARS['faximile']; ?>"></TD>
    </TR>
    <TR>
        <TH align=left>Mobil:</TH>
            <TD><INPUT class="inputField" name="mobilephone" value="<?PHP echo $HTTP_POST_VARS['mobilephone']; ?>"></TD>
        <TH align=left><?PHP echo $errorPicture['email']; ?>Email:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['email']; ?>" name="email" value="<?PHP echo $HTTP_POST_VARS['email']; ?>"></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>
<!-- Formular Ende -->

</FORM>
</body>
</html>
Packe ich den Teil mit für das verschicken der Email unter die Nachricht, das die daten erfolgreich verschickt wurden, bekomme ich zwar eine Email, allerdings ohne die Daten die über das Kontaktformular eingegeben wurden:

PHP-Code:

if($_GET['check'] == "TRUE")
{
    
$errorMessage '<table width="100%" class="errorTable"><tr><td><b>
             Ihre Anmeldung war erfolgreich.</b><br><br>
                 Vielen Dank dafür. Sofern Sie eine Email Adresse angegeben haben,
                         erhalten eine bestätigung für Ihre Anmeldung. Andernfalls warten Sie auf die Mitgliedsunterlagen.</td></tr></table><br>'
;
       
         
$betreff "Keine Ahnung irgendwas";

        
// Email zusammensetzen
        
$empfaenger "XXXX@XXXX.XX"// Empfänger Adresse
        // Jetzt die eigentlich Nachricht
        
$nachricht '
        <html>
                <head>Anmeldung</head>
    <body>
            <p align="left">Hallo, mein Name ist '
.$HTTP_POST_VARS["firstname"].'&nbsp;'.$HTTP_POST_VARS["lastname"].'. Ich möchte mich gerne Ihrem Schwimmverein anschliessen.</p>
            <p align="left">Anrede: '
.$HTTP_POST_VARS["gender"].'</p>
            <p align="left">Strasse: '
.$HTTP_POST_VARS["strasse"].'</p>
            <p align="left">PLZ / Ort: '
.$HTTP_POST_VARS["plz_ort"].'</p>
            <p align="left">Meine Telefonnummer lautet: '
.$HTTP_POST_VARS["telefone"].'</p>
            <p align="left">Handy: '
.$HTTP_POST_VARS["mobilephone"].'</p>
            <p align="left">Meine Emailadresse: '
.$HTTP_POST_VARS["email"].'</p>
           </body>
        </html>
'
;
        
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header  'MIME-Version: 1.0' "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
// zusätzliche Header
$header .= 'From: noreply@ist_egal.de' "\r\n";

# Anti-header-injection
foreach($_REQUEST as $fields => $value) if(eregi("TO:"$value) || eregi("CC:"$value) || eregi("CCO:"$value) || eregi("Content-Type"$value)) exit("ERROR: Code injection attempt denied! Please don't use the following sequences in your message: 'TO:', 'CC:', 'CCO:' or 'Content-Type'.");
mail($empfaenger$betreff$nachricht$header);

Ich weiß nicht mehr weiter. Wo und wie muss ich was ändern, damit die Daten per Email verschickt werden?

Danke schon mal für eure Hilfe

Geändert von dathoschy (19.07.2010 um 09:41:41 Uhr) Grund: Nachtrag
Mit Zitat antworten
  #2  
Alt 19.07.2010, 10:35:39
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Probleme mit Scriptvorlage

Hallo dathoschy,

aus welchen jahrzehnt kommt denn dein Code? $HTTP_POST_VARS? Welche PHP Version läuft denn bei dir?

P.s:
Neues Thema -> neuer Thread
Mit Zitat antworten
  #3  
Alt 19.07.2010, 11:22:45
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von Indyk Beitrag anzeigen
Hallo dathoschy,

aus welchen jahrzehnt kommt denn dein Code? $HTTP_POST_VARS? Welche PHP Version läuft denn bei dir?
Na ich hab das mal noch so gelernt das $HTTP_POST_VARS sicherer ist als $_POST. Allerdings lasse ich mich gerne eines besseren belehren.

PHP Version ist 5.2.6-1+lenny8 aus den Debian Repositys

Zitat:
P.s:
Neues Thema -> neuer Thread
Naja so neu ist das ja nicht :) ist ja das gleiche Problem wie der Threadersteller geschrieben hat.

Aber werde beim nächsten mal einen neuen Thread erstellen.
Mit Zitat antworten
  #4  
Alt 19.07.2010, 11:35:21
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Probleme mit Scriptvorlage

Zitat:
Na ich hab das mal noch so gelernt das $HTTP_POST_VARS sicherer ist als $_POST.
Sicherer, unsicherer...??
Veraltet, ist das bessere Wort dafür.

$_POST findest du in jeder moderneren PHP Version.
$HTTP_POST_VARS nicht mehr.

Möchtest du portable Scripte schreiben, oder oder demnächst in Probleme rennen?
:-)
Mit Zitat antworten
  #5  
Alt 19.07.2010, 11:49:36
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Sicherer, unsicherer...??
Veraltet, ist das bessere Wort dafür.

$_POST findest du in jeder moderneren PHP Version.
$HTTP_POST_VARS nicht mehr.

Möchtest du portable Scripte schreiben, oder oder demnächst in Probleme rennen?
:-)
Eigentlich suche ich nach einer Lösung für mein Problem :)

Denn der Inhalt der Variablen wird weder mit $HTTP_POST_VARS noch mit $_POST übergeben.

Nee aber hast recht, die scripte sollen ja portabel sein.
Mit Zitat antworten
  #6  
Alt 19.07.2010, 12:08:02
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Probleme mit Scriptvorlage

HTML-Code:
method=post
HTML-Code:
method="post"
die Anführungszeichen fehlen bei dir an Dutzenden Stellen

Ansonsten: KA, was da schief läuft.
Ist denn $_GET gefüllt?
Mit Zitat antworten
  #7  
Alt 19.07.2010, 13:19:45
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
HTML-Code:
method=post
HTML-Code:
method="post"
die Anführungszeichen fehlen bei dir an Dutzenden Stellen

Ansonsten: KA, was da schief läuft.
Ist denn $_GET gefüllt?

Es kommt zumindestens nicht die Meldung das irgendwelche Felder nicht ausgefüllt sind.

Wie gesagt,

print_r liefert nix, und error_reporting auch nicht.
Mit Zitat antworten
  #8  
Alt 19.07.2010, 13:38:42
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von dathoschy Beitrag anzeigen
Es kommt zumindestens nicht die Meldung das irgendwelche Felder nicht ausgefüllt sind.

Wie gesagt,

print_r liefert nix, und error_reporting auch nicht.
Das war nicht meine Frage !!!

Konkreter:
Wo kommt $_GET['check'] her?

Offensichtlich fehlen dir heftigst Grundlagen!
Mit Zitat antworten
  #9  
Alt 19.07.2010, 14:07:05
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Das war nicht meine Frage !!!

Konkreter:
Wo kommt $_GET['check'] her?

Offensichtlich fehlen dir heftigst Grundlagen!
Wie ich bereits geschrieben habe, habe ich das Script, welches hier auf der Homepage zu finden ist zur überprüfung der Pflichtfelder nur erweitert.

Ich habe also lediglich einzelne Felder im Formular selber geändert und das verschicken per Email hinzugefügt.
Mit Zitat antworten
  #10  
Alt 19.07.2010, 19:14:37
dathoschy dathoschy ist offline
Anfänger
 
Registriert seit: Jul 2010
Alter: 48
Beiträge: 8
AW: Probleme mit Scriptvorlage

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Das war nicht meine Frage !!!

Konkreter:
Wo kommt $_GET['check'] her?

PHP-Code:
header("Location: $script?check=TRUE"); 
Da kommt es her.

Weil:
Zitat:
Sobald alle Daten gespeichert wurden, wird die Seite neu geladen (62) und übergibt per GET den Wert „TRUE“. Somit können wir jetzt auch unsere Tabelle mit dem Hinweistext anzeigen, dass alles gespeichert wurde. Diese Variante des Neuladens hat einen zusätzlichen Vorteil. Bei einem Reload der Seite würden nicht noch einmal die gleichen Seiten per POST gesendet.
__________________
Satzzeichen sind keine Rudeltiere
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Scriptvorlage he2114 PHP Grundlagen 8 10.12.2008 11:40:51
Probleme mit getImageSize() duesentrieb PHP für Fortgeschrittene und Experten 8 01.03.2006 18:55:55
Probleme mit String und Integer bweichel PHP für Fortgeschrittene und Experten 7 01.12.2003 16:59:11
Probleme beim includen speak234 PHP Grundlagen 7 12.11.2003 15:05:39
PHP mail() funktion und server probleme flobee PHP für Fortgeschrittene und Experten 0 03.07.2002 01:18:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:48:29 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt