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 ::

Das Zend Framework

Das Zend Framework 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.08.2002, 13:12:24
Benutzerbild von Swordfish
Swordfish Swordfish ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 46
Mail versenden wenn alle Felder ausgefüllt...

Moin

Ich ersuche gerade, ein Scrpt zu schreiben, das mir eine Mail sendet, wenn alle Felder ausgefüllt wurden. Soweit ist das nicht so was grosses, aber ich habe dennoch ein Problem ;)

Die meisten Scripts, die man runterladen kann haben so was wie
Code:
if ($a =="" ...) {echo "feld leer! ..."} else {mail(...)}
Das schickte mir jedesmal eine Mail, auch wenn noch nicht alle Felder ausgefüllt waren, deshalb versuchte ich, das Ganze "negativ" zu formulieren, d.h., das Mail absenden, wenn das Feld nicht leer ist, dazu habe ich sowas probiert:
Code:
if (!empty($name) AND !empty($vorname)...) {mail(...)}
funzte nicht, genauso wie:
Code:
if($a !== "" ...) {mail(...)}
Die Abfrage, die ich erreichen will ist sowas wie "not null and not empty" aber wie mache ich das?

Thx
Swordfish
Mit Zitat antworten
  #2  
Alt 04.08.2002, 13:28:51
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Wie wär's mit strlen()?
>strlen() gibt die Anzahl der Zeichen in einem String zurück
also z.b.
PHP-Code:
if (strlen($vorname) > && strlen($name) > 0mail(); 
Mit Zitat antworten
  #3  
Alt 04.08.2002, 16:22:24
Benutzerbild von Swordfish
Swordfish Swordfish ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 46
thx Dago

Habe es ausprobiert, aber es behebt leider mein Problem nicht... :(

Das script versendet bei jedem klicken auf "submit" eine Mail, nicht nur, wenn alle Felder ausgefüllt sind... Könnte man die Überprüfung nicht auch noch anders vornehmen?
Mit Zitat antworten
  #4  
Alt 04.08.2002, 16:32:35
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Wenn man so eine If-Anweisung schreibt:
PHP-Code:
if (strlen($name) > && strlen($vorname) > 0)
          
mail('test@test.de','test','test');
else
          echo 
'Error'
Dann kann das eigentlich nicht sein, da das mail() ja nur erreicht wird, wenn die If-Bedingungen erfüllt sind. Hast du vielleicht sonst noch irgendwo im Skript einen mail()-Befehl stehen, der aus Versehen ausgeführt wird?
Mit Zitat antworten
  #5  
Alt 04.08.2002, 16:42:17
Ben20
Guest
 
Beiträge: n/a
Also ich mache das meistens so:


if($vorname == "") { $fehler = "true"; }
if($nachname == "") { $fehler = "true"; }
if($nochirgendeinfeld == "") { $fehler = "true"; }
if($undnocheins == "") { $fehler = "true"; }


if($fehler != "true") {
mail(...);
}
else{
echo "Fehler: Sie haben nicht alle Felder ausgefüllt";
}
Mit Zitat antworten
  #6  
Alt 04.08.2002, 23:48:00
Benutzerbild von Swordfish
Swordfish Swordfish ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 46
@ Dago: Ich habe da nur noch eine Überprüfung, ob mail(...) den Wert "true" ausgibt, ob also was gesendet wurde, aber sonst... irgendwie komisch... vielleicht habe ich ja einfach nur unsinn gecodet ;) werde das nochmals anschauen

@ Ben20: Muss ich gleich mal ausprobieren...
Mit Zitat antworten
  #7  
Alt 04.08.2002, 23:58:44
Benutzerbild von Swordfish
Swordfish Swordfish ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 46
habe beides nun auprobiert und bekomme immer noch ganz viele Mails gesendet...

anyway, muss mir das script wohl doch nochmals genau unter die lupe nehmen, thx für die lösungsvorschläge! melde mich wieder beim nächsten problem (oder beim erfolg ;)
Mit Zitat antworten
  #8  
Alt 30.08.2002, 23:18:15
mad-boy mad-boy ist offline
Junior Member
 
Registriert seit: Aug 2002
Beiträge: 395
mad-boy eine Nachricht über ICQ schicken
Also ich habe das so gemacht, dass man die Felder ausfüllt, dann ganz normal auf senden klickt und das ganze dann erstmal an eine ander php Datei geschickt wird. In der wird dann abgefragt
if ($name != "" && email != "") {
mail (...
usw.

Funktioniert ohne Probleme!
Mit Zitat antworten
  #9  
Alt 31.08.2002, 09:55:37
Magnus Magnus ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 7
Magnus eine Nachricht über AIM schicken
Ja so hab ich das auch gelöst. Formular.php übergibt die Daten erst an Formcheck.php wo der User dann noch mal alle Daten sieht und prüfen kann. Wenn alles ok ist und er klickt (bzw. klicken kann :) )werden die Daten von Anmelden.php an mySQL übergeben und die Mail generiert.

Die einzelnen Felder frag ich so ab:
---------------------------------------------------------------
<? echo $p_vname; ?>
<? //Vorname angegeben?
if ($p_vname = empty($p_vname)){ $fehler=$fehler+1; // Zählt die Fehler im Formular
echo $fehler_2; // Gibt die Fehlermeldung aus. Hier z.B.: Vorname fehlt!
}
?>
--------------------------------------------------------------------

Weiter unten frag ich dann einfach ab, welchen Inhalt $fehler hat.
Also:

if ($fehler < 1) {
<input type="submit".......
und lasse den Senden-Button nur Anzeigenm wenn $fehler kleiner als 1 (also 0) ist

if ($fehler >1) {
echo 'Korregieren Sie DIE Fehler';
exit;
}
elseif ($fehler =1) {
echo ' Korregieren Sie DEN Fehler';
exit;
}
Der Hinweis kommt also abhängig von der Anzahl der Fehler in der ein- oder mehrzahl. Behebt quasi nen Schönheitsfehler.

Wichtig ist das exit innerhalb der IF-Abfrage zu setzen, damit der Ausstieg auch da erfolgt wo er soll.
Mit Zitat antworten
  #10  
Alt 05.09.2002, 02:02:42
Benutzerbild von Swordfish
Swordfish Swordfish ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 46
thx @ all!

ich denke, ich habe da wohl das "exit" am falschen ort gemacht, bzw. die if-klammer zu früh geschlossen...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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


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


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


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