php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.05.2008, 11:35  
Benutzer
 
Registriert seit: 09.05.2008
Beiträge: 42
PHP-Kenntnisse:
Anfänger
bursch befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Frage zu "if isset ..." (Leeren Wert nicht ausgeben)

Hallo,

ich bin gerade dabei, mich in PHP einzuarbeiten.

Nun habe ich ein kleines Testbeispiel erstellt, in dem zunächst per HTML-Formular ein Wert eingegeben werden soll, welcher dann nach dem Absenden des Formulars in PHP wieder ausgegeben wird. Wenn allerdings kein Wert eingegeben wurde, dann soll auch keine Ausgabe erfolgen.

Soweit zur Theorie. Wie kann ich sowas nun realisieren? Über die Funktion "if isset"?

So sieht mein Beispiel aus:

Eingabe:

Code:
<form action = "verbunden.php" method = post>
Verraten Sie mir Ihren Namen? <input name="USERNAME"><br>
<input type="submit" name="SENDEN" value="Absenden">
Ausgabe:

PHP-Code:
<?php
$USERNAME 
$_POST["USERNAME"];
  
//User begrüssen
  
if (isset($_POST["USERNAME"]))
  {
   echo 
'Hallo '; echo $USERNAME;
  }
?>
Das Ganze funktioniert im Prinzip auch, aber wenn man keinen Wert eingibt, wird trotzdem ein "Hallo" ausgegeben. Kann man das umgehen oder muss ich das anders lösen?
bursch ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.05.2008, 11:44  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hi,

isset() fragt ja nur ob die Variable gesetzt wurde und auch eine leere Variable ist ein Variable die existieren kann. Du könntest statt des if(isset()) zum Beispiel ein if($_POST["USERNAME"]!="") machen, != bedeutet ungleich. Und wenn du das ganze auch noch willst falls jemand ein Leerzeichen eingegeben hat, dann kannst du auch if(trim($_POST["USERNAME"])!="") benutzen. trim() schneidet dir Leerzeichen am Anfang und am Ende eines Strings ab.

Es gibt viele Wege um an dein Ziel zu kommen, z.B. könntest du auch die Funktion empty() benutzen oder strlen()

Gruß
Cy
cycap ist offline  
Alt 09.05.2008, 11:50  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo und Willkommen im Forum!

Du könntest aber auch mit einem einfachen Regex alles in einem Aufwasch erledigen. Da kannst die Länge eines Strings vorgeben,die Zeichen die vorkommen dürfen und damit kannst auch das !="" sparen.

Aber mit regex schiese ich wohl grad ein bisschen übers Ziel eines reinen Anfängers hinaus!

PHP-Code:
if(!preg_match("#^([0-9a-zäöü _-]+)$#i",$_POST['feld']) 
Hier legst du die Zeichen fest die drin vorkommen dürfen,nachträglich kannst du auch mit so was {9} die Stringlänge bestimmen!

mfg der Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 09.05.2008, 12:02  
Benutzer
 
Registriert seit: 09.05.2008
Beiträge: 42
PHP-Kenntnisse:
Anfänger
bursch befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnellen Antworten, es funktioniert nun!
bursch ist offline  
Alt 09.05.2008, 12:10  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

du könnetst auch auf empty() prüfen? dann wird geschaut ob isset und dann noch ob was drin steht außer 0 oder garnix.. müsste doch auch gehen...?
Hu5eL ist offline  
Alt 09.05.2008, 13:07  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von Hu5eL Beitrag anzeigen
du könnetst auch auf empty() prüfen? dann wird geschaut ob isset und dann noch ob was drin steht außer 0 oder garnix.. müsste doch auch gehen...?
Ich zitiere mich mal selbst:

Zitat:
Zitat von cycap
Es gibt viele Wege um an dein Ziel zu kommen, z.B. könntest du auch die Funktion empty() benutzen oder strlen()
cycap ist offline  
Alt 10.05.2008, 21:03  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

peinlich sorry...
Hu5eL 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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ungleich empty, ungleich isset, preg_match ungleich, isset ungleich, if isset beispiele, ungleich preg_match, ist ungleich php preg_match, beispiel isset, if(isset richtig anwenden, if isset ungleich, if isset, php empty ungleich, isset ergebnis ausgeben, if isset wert größer, warum bei php if isset nutzen, php wenn kein wert eingegeben, php if wert dann empty, !empty ungleich php, if isset richtig anwenden, if ($_post hat wert

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