WinFuture-Forum.de: Isset Mit Bestimmter Zeichen Länge - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Isset Mit Bestimmter Zeichen Länge


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2008 - 16:24

Hey ich würde gerne eine überprüfung des angegebenen Names machen.

habe bis jetzt das hier:
<?
if (isset($_POST["name"])) {
	%weiteres Script%
}

else{
	echo "Bitte einen Namen angeben!"
}
?>


Ich möchte nun aber dass mindestens 3 Zeichen angegeben werden müssen, damit das Scipt weitergeführt werden.

Oder habt ihr eine bessere Lösung für mein Problem?

Danke
0

Anzeige



#2 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.132
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 28. April 2008 - 16:37

RegEx?
\w.*{3,}


Edit, das obige würde nur Zeichenketten matchen, die mindestens 3 Wortzeichen - a-Z - in Folge haben, wenn auch sonstige Zeichen gewünscht sind, einfach das \w weglassen oder mal bei Google nach einem RegEx-Cheatsheet schauen...

Dieser Beitrag wurde von ph030 bearbeitet: 28. April 2008 - 16:43

0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2008 - 16:43

Könntest du es noch ein wenig ausführen, ich weiß leider nicht wovon du redest!
0

#4 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.132
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 28. April 2008 - 17:09

Und was genau verstehst du nicht?
0

#5 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 28. April 2008 - 17:14

Man könnte natürlich auch einfach strlen() verwenden.
0

#6 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2008 - 17:30

Thx @ [Elite-|-Killer]für den konstruktiven Beitrag!

Vielen Dank, damit kann ich was anfangen!

:wink:
0

#7 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2008 - 17:53

Habe aber noch ein Problem was mcih schon länger begleitet.
Ich habe mehrere If schleifen die alle auf der index.php liegen. Wenn ich nun das Formular auf den eigegebenen Namen überprüfen lassen will dann zeigt er beim aufruf schon an dass der Name zu kurz ist. Nun möchte ich dass die Fehlermldunegn erst angezeigt werden wenn er die Daten über das Formular abgeschickt hat.
Wie mache ich das?
0

#8 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 28. April 2008 - 18:05

Beitrag anzeigenZitat (Toasterfraktion: 28.04.2008, 18:30)

Thx @ [Elite-|-Killer]für den konstruktiven Beitrag!

Vielen Dank, damit kann ich was anfangen!

:wink:

Google oder php.net:
Bei der Suche "strlen". Ich denke mal das ist keine große Herrausforderung.

Dieser Beitrag wurde von [Elite-|-Killer] bearbeitet: 28. April 2008 - 18:05

0

#9 Mitglied ist offline   glowhand 

  • Gruppe: aktive Mitglieder
  • Beiträge: 15
  • Beigetreten: 13. Dezember 07
  • Reputation: 0

geschrieben 28. April 2008 - 18:09

statt isset (zur Überprüfung der Existenz der Variable) UND strlen (zur Überprüfung der Länge der Variable) reicht auch ein

if (isset($_POST["name"]{2}))

-> Es wird nun überprüft, ob das 3. Zeichen des Strings existiert. Damit schlägt man 2 Fliegen mit einer Klappe.

Zum 2. Problem -> vorher überprüfen, ob das Formular abgesendet wurde, zb mit
if (!empty($_POST))
{
// Dinge, die passieren sollen, wenn Formular abgesendet wurde.
}
0

#10 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2008 - 18:47

@[Elite-|-Killer]
Das war eben nicht ironisch keineswegs...
Ich meine du hast zwar auch nur den Befehl gepostet aber den hab ich auch gleich bei php.net gefunden nicht wie ReEx! :wink:

@glowhand
Danke! Das mit "if (isset($_POST["name"]{2}))" ist echt nützlich :-D
Und das zweite hört sich auch logisch an, nur dann habe ich in meinem Code ca 5-6 ineinander verschachtelte if/else Funktionen. Wie sieht das da mit der Performance aus oder der Kompatibilität, oder kann ich soviel verschachteln wie ich möchte?
0

#11 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 29. April 2008 - 20:59

Hi,

mit
if (isset($_POST['name']{2}))
könnte name auch aus lauter Leerzeichen bestehen. Da würde sich etwas wie
$name = trim($_POST['name']);
if (isset($name{2}))
anbieten.
Aber als Entwickler würde ich dahinter auf jeden Fall einen Kommentar in den Code setzen, weil sonst übersieht man schnell mal, was diese If-Abfrage bewirkt.

Verschachteln kannst du so viel wie du willst. Die Performance spielt bei solchen If-Abfragen fast keine Rolle. Versuch es einfach möglichst logisch und übersichtlich zu gestalten, dann fallen auch zum Teil einige Abfragen weg bzw. können zusammengefasst werden.

Gruß,
Stefan
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0