php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.08.2006, 11:01  
Neuer Benutzer
 
Registriert seit: 16.08.2006
Beiträge: 7
n00b
Standard Billig Formular Frage

Hi

Ich hab so ein Billig Kontaktformular gemacht, zwei Fragen dazu

1.) Was gibts zu verbessern?
2.) Felder werden ja auf Pflicht überprüft, aber ich hab bisher keine Abfrage, ob alles passt - somit wird auch bei Nichteingabe ne leere Mail versendet^^
Mir fällt aber nicht ein wie ich das mach

PHP-Code:
<?php
error_reporting
(E_ALL);

// Variablen holen
   
$name $_POST['name'];
   
$betreff $_POST['betreff'];
   
$text $_POST['text'];
   
$mail $_POST['mail'];

// Ausfüllfehler seitens Client
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$mail)){$fehler=1;
  echo
'<center><font class=text>Email Adresse ist UNGÜLTIG</font>
'
;}
if(
$name=='') {$fehler=1;
  echo
'<center><font class=text>Sie haben keinen Betreff eingegeben!</font>
</center>'
;}
if(
$betreff==''){$fehler=1;
  echo
'<center><font class=text>Sie haben keinen Betreff eingegeben!</font>
</center>'
;}
if(
$text==''){$fehler=1;
  echo
'<center><font class=text>Bitte geben Sie Ihre Nachricht ein!</font>
</center>'
;}

mail("meinEmail@mail.de",
     
"$betreff",
     
"$text",
     
"From: $mail ($name)"
      
);
  echo
'<body>';

// Text nach dem Abschicken
  
echo'

<center><font class=ueber1>xy werden Ihre Anfrage schnellstmöglich bearbeiten! </br></br> </font></br></br>
<center>[url="link^^"]Back to main[/url]'
;}

?>
n00b ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.08.2006, 11:17  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Gehört zwar zum HTML-Bereich aber nehm anstatt font -> span und was macht da die Ausgabe body mittendrin?

PHP-Code:
<?php
  
echo'<body>'
?>
Dann würd ich dein Script noch um die Prüfung der E-Maileingabe erweitern:

PHP-Code:
<?php
  
if($mail=='') {
    
$fehler=1;
    echo
'<span style="text-align:center;" class="text">Sie haben keine E-Mail eingegeben!</span>
'
;
  } 
?>
Ist das Script komplett? Weil da am Ende ein } aufhört

und dann würd ich dir empfehlen, besser einzurücken

Und bei $fehler = 1 keine Mail verschicken:

PHP-Code:
<?php
  
if($fehler == 1) {
    echo 
"Fehler";
  } else {
    
mail("meinEmail@mail.de","$betreff","$text","From: $mail ($name)");
    
// Text nach dem Abschicken
    
echo'

<center><font class=ueber1>xy werden Ihre Anfrage schnellstmöglich bearbeiten! </br></br> </font></br></br>
    <center>[url="link^^"]Back to main[/url]'
;
  }
?>
Ich glaub das war so das Gröbste, was ich entdecken konnte (keine Garantie für Richtigkeit
)

MFG

[EDIT]
Hatte einen kleinen Fehler. In If-Abfrage ein = vergessen (sry)
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 16.08.2006, 11:22  
Neuer Benutzer
 
Registriert seit: 16.08.2006
Beiträge: 7
n00b
Standard

Erstmal herzlichen Dank :wink:

Kleine Frage noch:

Wenn man nun irgendwo eine falsche Eingabe macht, dann wird ja trotzdem der untere Text gezeigt.
Wie könnte man das noch prüfen?

thX
n00b ist offline  
Alt 16.08.2006, 11:34  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

ACHTUNG: Hatte nen Fehler oben bei mir im Quellcode (ein = vergessen)

Inwiefern eine falsche Eingabe?

Ob eine Eingabe stattgefunden hat, prüfst du ja schon. Falls ein Fehler auftrat, wird ja $fehler auf 1 gesetzt und somit wird keine E-Mail versendet und der Text wird auch nicht angezeigt:

PHP-Code:
<?php
  
if($fehler==1) {
    echo 
"Fehler";
  } else {
    
// Emailverschickzeugcode
    
echo "E-Mail versendet";
  }
?>
Oder hab ich dich falsch verstanden?

MFG
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 16.08.2006, 12:25  
Neuer Benutzer
 
Registriert seit: 16.08.2006
Beiträge: 7
n00b
Standard

Uppppps

Danke dir

€dit:

Code:
Notice: Undefined variable: fehler in line 22, 25
PHP-Code:
  if($fehler == 1) { 
Das ist deine obige Zeile. Soll ich da einfach ein @ reinmachen zur Unterdrückung?
n00b ist offline  
Alt 16.08.2006, 14:19  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Öhm... ne Fehlerunterdrückungen sind nie wirklich gut

Der Notice sagt dir, dass die Variable $fehler nicht existiert (wenn kein Fehler auftritt ist das auch so. Entweder du setzt vor deiner Fehlerprüfung (also deinen ganzen if($feld == '') Zeug) ein $fehler = 0;

PHP-Code:
  $fehler=0;
  
// Ausfüllfehler seitens Client
  
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$mail)){
    
$fehler=1;
    echo
'<center><font class=text>Email Adresse ist UNGÜLTIG</font>
'
;
  } 
  
// [...] 
oder du machst aus dem If folgendes:

PHP-Code:
if(isset($fehler) AND $fehler == 1
Oder beides *g*
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 16.08.2006, 14:25  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

2 Dinge noch:

- Nimm statt ereg* die preg* funktionen (Google einfach mal, da wirst schon fündig weshalb..)

-
PHP-Code:
   $name $_POST['name'];
   
$betreff $_POST['betreff'];
   
$text $_POST['text'];
   
$mail $_POST['mail']; 
ändern in
PHP-Code:
  if(isset($_POST['name'//...
    
$name $_POST['name'];
    
$betreff $_POST['betreff'];
    
$text $_POST['text'];
    
$mail $_POST['mail']; 
  } 
Grund:
Der selbe wie oben..
wenn du das script direkt (ohne post daten) aufrufst, dann erhältst du mehrere notice errors!




mfg
Andi
DER_Brain ist offline  
Alt 16.08.2006, 14:46  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von DER_Brain
PHP-Code:
  if(isset($_POST['name'//...
    
$name $_POST['name'];
    
$betreff $_POST['betreff'];
    
$text $_POST['text'];
    
$mail $_POST['mail']; 
  } 
da würd ich eher den Submit Button nehmen. Und die anderen ganzen Zeilen müssen auch mit rein:

PHP-Code:
  if(isset($_POST['submit'])) {
    
$name $_POST['name'];
    
$betreff $_POST['betreff'];
    
$text $_POST['text'];
    
$mail $_POST['mail']; 
    
    
// hier die IF Abfragen
    // Und hier die If abfrage mit Mailversand oder Fehlerausgabe
  

Wobei das an sich egal ist. Besser ist glaub aber an sich schon:

Code:
isset($_POST['name']) AND isset($_POST['betreff']) AND ...
ich glaube das isset kann man auch mit komma trennen:

Code:
isset($_POST['name'], $_POST['betreff'],...)
oder irr ich mich?

[EDIT]
jo geht, siehe isset
[/EDIT]

mir ist das zu viel unnötiger Code, deshalb nehm ich nur Submit (und evtl $_POST['submit'] == 'Submitbuttonwert'). Tuts auch.
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 16.08.2006, 17:09  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, hast recht!

Eigentlich mach ichs auch immer so, an das hab ich in diesem Fall nicht gedacht...


Danke für die Korrektur...



mfg
Andi
DER_Brain ist offline  
Alt 17.08.2006, 14:27  
Neuer Benutzer
 
Registriert seit: 16.08.2006
Beiträge: 7
n00b
Standard

Danke Euch echt klasse :wink:
n00b 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
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Formular Pflichtfelder für Frontpage Formular erstellen Caruso JavaScript, Ajax und mehr 5 21.06.2008 09:17
Problem mit IF und Formular Black-Devil PHP Tipps 2008 12 03.03.2008 17:54
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
Dynamischer Text in einer Grafik per Formular einfügen PHP Tipps 2005-2 2 19.08.2005 00:55
[Erledigt] Hilfe bei Formular für Datenerhebung benötigt PHP Tipps 2005-2 3 16.07.2005 10:43
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage zu einem Formular. Zero.exe PHP Tipps 2005 6 17.03.2005 22:01
Formular Frage! HTML, Usability und Barrierefreiheit 13 09.03.2005 16:11
Frage zu Formular. Zero.exe PHP Tipps 2005 6 01.03.2005 19:45
Wie implementiere ich mein Email Formular? PHP Tipps 2004-2 2 14.11.2004 17:02
Fehleranzeige im Formular tikal PHP Tipps 2004 4 07.10.2004 14:57
Brauche PHP Formular Beitragsarchiv 9 16.08.2004 16:23
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
was kann man alles in ein formular reinmachen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 15: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.