Gebruik van meerdere if statements in sendmail.php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guido  -

Guido -

06/11/2015 12:56:22
Quote Anchor link
Hallo,

In mijn sendmail valideer ik of e-mail geldig is en of de overige 2 velden in ieder geval 1 teken bevatten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if($_SERVER['REQUEST_METHOD'] == 'POST') {

$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

if( $_POST['name'] || $_POST['message'] && strlen($value)<1 ) {


Als waarde true is, wordt mijn formulier verstuurd.
Als waarde false is wordt lege pagina getoond (script stopt).
Mijn vraag: kan deze combinatie van 3x if zonder else of 'hoort' dit niet?

Guido
 
PHP hulp

PHP hulp

20/04/2024 08:58:58
 
- SanThe -

- SanThe -

06/11/2015 13:00:44
Quote Anchor link
Een else is uiteraard niet verplicht.

Wel altijd haakjes gebruiken bij de combinatie van or en and

if(... or (... and ...)) is wat anders dan if((... or ...) and ...)
 
Ward van der Put
Moderator

Ward van der Put

06/11/2015 13:01:26
Quote Anchor link
Met de logische operator && voor en kun je condities combineren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if (...)
&& (...)
&& (...) {
    // Alle condities zijn true
    ...
}
 
Guido  -

Guido -

06/11/2015 13:33:23
Quote Anchor link
Dank!

Stond een foutje in validatie van 2 velden, moet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if( strlen($_POST['name'] && $_POST['message']) >0 ) {


Guido
Gewijzigd op 06/11/2015 13:57:25 door Guido -
 
- SanThe -

- SanThe -

06/11/2015 15:27:50
Quote Anchor link
Guido vd L op 06/11/2015 13:33:23:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if( strlen($_POST['name'] && $_POST['message']) >0 ) {


Vreemde vergelijking.

Als de stringlengte van (variabele AND variabele) groter dan nul is.
Ingevuld:
Als de stringlengte van ('Jan' AND 'Hallo') groter dan nul is.
 
Guido  -

Guido -

06/11/2015 17:42:38
Quote Anchor link
Oh, dat is idd niet de bedoeling :-(

Dit zal dan wel correct moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if( strlen($_POST['name']) >0 && strlen($_POST['message']) >0 ) {


Thanks!

Toevoeging op 07/11/2015 01:40:45:

Zoals je ziet heb ik nu 3 if statements onder elkaar.
Dit werkt prima maar kan zoals jullie aangeven zeker netter.
Wie kan me even op weg helpen want het lukt mij zelf niet om deze 3 netjes te integreren.
Of is nu wel prima zo?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if($_SERVER['REQUEST_METHOD'] == 'POST') {

$email = $_POST['email'];
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {

$name = strip_tags($_POST['name']);
$message = strip_tags($_POST['message']);
if( strlen($name) >0 && strlen($message) >0 ) {

(ik gebruik strip_tags want content van bericht is text/plain)
Gewijzigd op 07/11/2015 01:42:52 door Guido -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.