php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.05.2005, 04:37  
Gast
 
Beiträge: n/a
Standard !() oder empty() oder isset()

moin,

ich habe mich mit php nun etwas befasst und wollte wissen, wie man formularfeld-daten "richtig" überprüft?

if (!$_POST['name'])
oder
if (!empty($_POST['name']))
oder
if (isset($_POST['name']))

müssen vielleicht ggf. irgend welche einstellungen in der php.ini ein oder abgeschaltet werden damit es auch (immer) so dann funktioniert?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.05.2005, 05:47  
Gast
 
Beiträge: n/a
Standard

mit isset($_POST['name']) wird geprüft, ob mit der Anfrage überhaupt ein Parameter name übergeben wurde.
Der Parameter kann allerdings auch leer sein (name=); z.B. mit strlen($_POST['name']) kann das allerdings abgetestet werden.
Im einfachsten Fall also
PHP-Code:
<?php
if( isset($_POST['name']) && 0<strlen($_POST['name']) )
{
    
// Parameter name wurde per POST übergeben
    // und enthält irgendwas
}
else
{
    
// nicht übergeben oder komplett leer
}
?>
Ein einzelnes Leerzeichen genügt, um in den if-Zweig zu gelangen.
Dagegen hilft z.B. trim()

Inwieweit dann noch getestet wird, ob es sich bei der Eingabe um einen Namen handelt (mehr als nur ein Zeichen; Buchstaben vorhanden, keine Ziffern mittem im Wort usw. usw.), hängt vom Einsatzgebeit ab.
 
Alt 09.05.2005, 08:27  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

naja strlen ist unnötig, dafür gibt es eben empty() und die frage ist halt was man machen will, man kann direkt empty() benutzen, das sagt einem dann allerdings nicht ob die variable überhaupt gesetzt ist.

am besten ist du liest mal im manual nach was die einzelnen funktionen machen:

www.php.net/empty
www.php.net/isset
und hier die erste tabelle:
http://www.php.net/manual/en/types.comparisons.php

und was vieleicht auch interessant ist, zum testen des wissens:
http://www.blueshoes.org/en/developer/syntax_exam/


mfg
robo47
robo47 ist offline  
Alt 09.05.2005, 12:26  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
$t 
'0';
if( empty(
$t) )
    echo 
'is empty';
?>
aus diesem Grund verzichte ich i.d.R. auf empty() bei der Parameter-Prüfung.
Ausserdem ziehe ich ggf. die Tests auseinander. Garnicht oder leer-gesetzt sind u.U. zwei unterschiedlich zu behandelnde Dinge.
Also einfach persönliche Abneigung gegenüber empty()
 
Alt 09.05.2005, 15:20  
Gast
 
Beiträge: n/a
Standard

dann ist ja empty() die beste lösung, weil sie auf NULL, 0 und leer überprüft.
zum ausklammern der "0" wäre dann dies am passensten, denke ich:
PHP-Code:
<?
               
if ($_POST['name'] == "" or $_POST['name'] == NULL)
                  {
                   echo 
"Fehler im namensfeld";
                  }
?>
 
 


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
[Erledigt] Frage zu &quot;if isset ...&quot; (Leeren Wert nicht ausgeben) bursch PHP Tipps 2008 6 10.05.2008 21:03
Problem: [Warning Empty delimiter] Lia PHP Tipps 2008 3 03.01.2008 23:21
Strict Standards: Creating default object from empty value Timo Trallala PHP Tipps 2008 7 29.10.2007 13:39
Query was empty bei Warenkorb Shalina PHP Tipps 2006 12 10.06.2006 00:45
abfage nur ausführen wenn 1 teil !empty() ;) Promaetheus Datenbanken 4 03.12.2005 02:26
Mehrere Abfrage mit isset auf einmal? Calli PHP Tipps 2007 6 29.11.2005 16:39
[Erledigt] Problem mit isset() PHP Tipps 2007 3 02.11.2005 14:45
[Erledigt] Checkbox Abfage - If (empty ??? - geht nich)... PHP Tipps 2005-2 13 22.07.2005 10:25
MySQL-Ergenis auswerten mit Fehler: '1065 Query was empty' PHP Tipps 2004 3 17.10.2004 01:41
Warum array_key_exists() anstatt isset() bei Arrays? PHP-Fortgeschrittene 0 29.09.2004 17:19
gegenteil von der isset()? PHP Tipps 2004 4 13.09.2004 14:26
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
Wo liegt der Fehler - Query was empty Anuschka PHP Tipps 2004 7 24.08.2004 02:59
[Erledigt] ISSET ohne Antwort PHP-Fortgeschrittene 3 18.08.2004 21:21
[Erledigt] if empty --&gt; setzen PHP Tipps 2004 7 05.06.2004 17:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
isset php ohne null, php gegenteil von empty, $_post empty, empty oder isset

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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.