Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 18:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



phpmailer - textfeld überprüfen

Discussion on phpmailer - textfeld überprüfen within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
Punisher.biz's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 978
Received Thanks: 160
phpmailer - textfeld überprüfen

Aloha,
(info; bin noch ein anfänger, somit nicht gut in php!)
Ich habe ein kleines Problem, und zwar habe ich mit Bootstrap und phpmailer ein kleines Kontaktformular "geschrieben", die Mail wird auch abgeschickt, aber auch wenn das Feld leer ist, was nicht so toll ist.

Anfangs, als ich nur ein Textfeld hatte, hat die Überprüfung des Feldes geklappt, und es kam eine Error Meldung, nun wo ich 2 extra Felder für E-Mail und Pseudonym angegeben habe, klappt dies nicht mehr, und das Formular kann somit leer abgeschickt werden, was nicht Sinn der Sache ist.

(Findet jemand den Fehler?)
Code:
<?
if(!empty($_POST))
{		
$pseudonym=$_POST['pseudonym'];
$email=$_POST['email'];
$nachricht=$_POST['nachricht'];

  require('phpmailer/class.phpmailer.php');
  
  $mail = new PHPMailer();
 
  $mail->From = "";
  
  $mail->FromName = "Kontaktanfrage | PuniHasstEuch.Reshock.eu";
  
  $mail->AddAddress("");
  
  $mail->Subject = "Kontaktanfrage | PuniHasstEuch.Reshock.eu";
 
  $mail->Body = "Pseudonym: $pseudonym\n\nE-Mail-Adresse: $email\n\nDeine Nachricht an mich:\n$nachricht";
  
  if(!$mail->Send())
  {
     echo "Die Kontaktanfrage konnte nicht gesendet werden";
  }
	else
  {
     echo "Die Kontaktanfrage wurde erfolgreich gesendet.<br>
		   Zurück zur Startseite? <a href='index.php'><b>Hier</b></a> entlang!";
	}
}
 else echo"<form action='index.php?page=sites/kontakt.php' method='post'>

	<input type='text' class='form-control' name='pseudonym' placeholder='Pseudonym'>
	<br>
	<input type='email' class='form-control' name='email' placeholder='E-Mail-Adresse'>
	<br>
	<textarea class='form-control' style='resize: none;' rows='5' name='nachricht' placeholder='Deine Nachricht an mich'></textarea>
	<br>
	<button type='submit' class='btn btn-default'>Abschicken</button></form>";

?>
Wie kann ich nun angeben, das Pseudonym, email und nachricht überprüft werden sollen, ob es leer ist oder nicht?

Ich würde es eigentlich gerne haben das wenn eins der Felder leer ist, oder alle, das irgendwo eine Nachricht erscheint, und sagt das man die Felder doch bitte ausfüllen soll.
- Falls dies nicht so einfach ist, reicht es mir auch das man auf die eigentliche Error Meldung kommt die im Script angegeben ist.

Wie kann ich das umsetzten? Habe nun schon länger gesucht, aber komme einfach nicht weiter...

Hoffe jemand versteht mein Problem, und kann mir helfen

Gruß
Punisher.biz is offline  
Old 08/22/2014, 16:52   #2
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Du solltest vor dem Absenden nochmals die übergebenen Felder ($_POST) auf Leerheit überprüfen.

Übliche Prüfung in PHP:
PHP Code:
if(empty($variable)) { echo "variable ist leer"; }
else {
 echo 
"führe Aufgabe aus";

In deinem Fall musst du vor dem $mail->Send die Post-Variablen überprüfen:
PHP Code:
if(empty($_POST['pseudonym']) || empty($_POST['email']) || empty($_POST['nachricht'])) {
 echo 
"Ein Feld wurde nicht korrekt ausgefüllt oder ist leer";
}
else {
  
//dein Code:
  
if(!$mail->Send()) {
     echo 
"Die Kontaktanfrage konnte nicht gesendet werden";
  }
  else {
     echo 
"Die Kontaktanfrage wurde erfolgreich gesendet.<br>
           Zurück zur Startseite? <a href='index.php'><b>Hier</b></a>"
;
  }

Dieses "||" ist ausgesprochen ein "OR" in der Boolschen-Algebra
Mikesch01 is offline  
Thanks
1 User
Old 08/22/2014, 17:07   #3

 
Punisher.biz's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 978
Received Thanks: 160
Danke dir, wo genau muss ich den Code denn hinlegen?

(Sry bin wirklich noobig dadrin, will das aber bald fertig haben >.<)

edit:

WOHO DANKE! ich liebe dich!
Punisher.biz is offline  
Old 08/24/2014, 21:58   #4
 
.StarSplash's Avatar
 
elite*gold: 74
The Black Market: 185/0/0
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
Und nun eine Erklärung, warum das denn so ist:

$_POST stellt ein Array dar, in deinem Fall mit den Feldern Pseudonym, Email und Name. Das ist aber noch nicht alles, auch der Submit-Button geht mit ins Array ein. Wenn du nun mit !empty($_POST) prüfst, ob das (gesamte) Array nicht leer ist, wird dies logischerweise verneint, Submit hast du ja mit dem Klicken auf deinen Button gesetzt.

Du musst folglich die entsprechenden Felder des Arrays einzeln überprüfen, so wie in der Lösung von Mikesch01 geschehen.

Für die Zukunft solltest du dein Skript noch so erweitern, dass nur gültige Emails eingetragen werden dürfen. Das kannst du mit regulären Ausdrücken schaffen.
.StarSplash is offline  
Thanks
1 User
Old 08/24/2014, 22:57   #5

 
Punisher.biz's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 978
Received Thanks: 160
Dank dir, ja das mit den mails ist so eine Sache, ich denke ich werde dies ganz anders gestalten, und dort einfach eine "Kontaktmöglichkeit" einbauen, wo die dann reinschreiben wo ich sie Kontaktieren kann (Ts, mail, Skype etc.)

Gruß
Punisher.biz is offline  
Old 08/24/2014, 23:42   #6
 
ThinSmoke's Avatar
 
elite*gold: 49
Join Date: Sep 2008
Posts: 906
Received Thanks: 600
Ist quatsch die Abfrage überhaupt abzuschicken, wenn die Felder nicht befüllt sind..
Du solltest deinen inputs required="required" mitgeben.
ThinSmoke is offline  
Reply


Similar Threads Similar Threads
PHPMailer
05/05/2012 - Metin2 Private Server - 0 Replies
Hallo ;o ich suche jemanden der sich mitm PHPMailer auskennt. Wozu brauch ich das? Ich würde gerne einbauen das man das Passwort per email anfordern kann. und noch viele andere sachen^^ danke im Voraus brauche immernoch hilfe^^
[VB 2010] Browser Textfeld-Inhalt auslesen
02/20/2012 - .NET Languages - 5 Replies
Hey epvp, ich stecke gerade in meinem WEB.DE Programm fest. Undzwar schreibt VB etwas (was zufällig generiert wird) in das Feld für die Wunsch-E-Mail. Meine Frage lautet nun, wie kann ich den Inhalt wieder auslesen, d.h dass es z.B in einer Textbox steht? MfG
[Java] Namen oä aus TextFeld auslesen.
01/15/2012 - General Coding - 7 Replies
Hi also ich hab mir nen GUI erstellt mit nem Textfeld also Nicht so nen großes sonderen so eins mit einer Zeile. Und möchte da den Namen raus speichern um ihn nachher wiederzugeben. Hab schon Youtube geguckt und Google aber hab nix gefunden MFG Resurrection
Samsung galaxy S - Textfeld
09/04/2011 - Smartphones - 0 Replies
Hallo! Bin rundum zufrieden mit meinem Samsung galaxy s. Jedoch stört mich eine Sache! Wenn ich den display schräg halte (vertikal) dann geht das Textfeld über den ganzen Bildschirm! Kann man das umstellen das nur 1Zeile angezeigt wird, und nicht der ganze Bildschirm verdeckt ist?
Button/Textfeld im Internetexplorer anklicken
03/27/2011 - AutoIt - 3 Replies
Hallo ich versuche schon seit Stunden mein Problem zu lösen und hoffe, das mir jemand helfen kann =). Ich will ein Script machen, dass sich automatisch auf Youtube anmeldet. Also das Passwort Feld findet, das Passwort eingibt.... etc und danach auf anmelden klickt. Das ist der betroffene Teil von meinem Script. #include <IE.au3>



All times are GMT +1. The time now is 18:32.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.