php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.01.2005, 22:48  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard zwei fragen an euch!

hi ich hätte mal wieder zwei fragen...

zum einen hab ich ein forumlar ind das man nur eine zahl von 0 bis 99 eingeben darf.

die anweißungen dazu hab ich schon geschrieben, hab aber jetzt festgestellt das wenn man z.b

"4a" reinschreibt, das trotzdem angenommen wird obwohl auch ein buchstabe mit drinnen ist.

wie kann ich das ändern???


zu meiner zweiten frage.
wenn du dich z.b mit "User1" bei mir anmeldest wird auch "User1" in die db eingetragen, soweit ja ok und normal.

wenn man sich jetzt aber einloggen will muss man die groß und kleinschreibung beachten also man muss auch das "U" groß schreiben. wie kann ich das beim login ändern?

danke für euere hilfe schon mal im vorraus!
$$$ ThiKool $$$ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.01.2005, 22:59  
Erfahrener Benutzer
 
Registriert seit: 23.07.2004
Beiträge: 100
Tutti
Standard

Zitat:
die anweißungen dazu hab ich schon geschrieben,
Und die sieht wie aus?

Zitat:
wenn man sich jetzt aber einloggen will muss man die groß und kleinschreibung beachten also man muss auch das "U" groß schreiben. wie kann ich das beim login ändern?
Gibt es Code für die Routine?

Wie soll man denn dir so helfen?
__________________
Tutti ist offline  
Alt 21.01.2005, 23:04  
Gast
 
Beiträge: n/a
Standard

1. Prüfen, ob der Wert gültig ist, ansonsten Formular neu rausschicken
2. strtoupper()

cu
 
Alt 21.01.2005, 23:24  
Erfahrener Benutzer
 
Registriert seit: 23.07.2004
Beiträge: 100
Tutti
Standard

@nmd
zu1: sehr präzise Aussage
zu2: wo wurde in diesem Topic gefragt wie ich einen String in Grossbuchstaben wandle?
__________________
Tutti ist offline  
Alt 21.01.2005, 23:25  
Gast
 
Beiträge: n/a
Standard

Hi!

Zu der Ersten Frage würd ich mal tippen, Du löst dies mit preg_match() oder?
Der würde dann so aussehen:
PHP-Code:
<?php
preg_match 
("=^[0-9]{1,2}$="$variable)
?>
Dennoch ist dies nur eine Vermutung, da nix zum lesen hier ist

cu
 
Alt 21.01.2005, 23:39  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard

nee ich hab das zu erstens jetzt mal so gelöst:

PHP-Code:
if($trikotnr_pruefung == "") { 
 
$output $a1;
 } else { 
if(
$trikotnr "99") { 
 
$output $a2
und zu zweitens dachte ich mir, das ich das auch mit einer if anweisung lösen könnte also wenn buchstaben drinn sind, dann kommt eine entsprechende textausgabe...


sorry bin wirklich totaler anfägner
$$$ ThiKool $$$ ist offline  
Alt 21.01.2005, 23:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
zu1: sehr präzise Aussage
Soll ich ihm den Code noch auf 'nem Silbertablett servieren, oder kommt er selbst auf casten zu int und dann ==0, bzw. beliebige andere Vergleiche? Bzw.: Wo ist der Lerneffekt für ihn größer: Copy&Paste, oder nachdenken, raussuchen, anwenden?

Zitat:
zu2: wo wurde in diesem Topic gefragt wie ich einen String in Grossbuchstaben wandle?
Aus der unpräzisen Fragestellung habe ich gelesen, dass es egal sein soll, ob Groß- oder Kleinbuchtsaben eingegeben wurden, die Abfrage also case-insensitive sein soll. Das wird in der Regel so gelöst, dass der String in einen definierten Zustand gebracht wird und dann erst verglichen wird. Das geht einmal, indem ich den String in Großbuchstaben umwandele (strtoupper()) oder auch in Kleinbuchstaben (strtolower()). Was war nochmal dein Kritikpunkt?

cu
 
Alt 21.01.2005, 23:50  
Gast
 
Beiträge: n/a
Standard

Bei Deiner

$trikotnr_pruefung == ""

überprüft er doch nur ob das Feld leer ist oder nicht.
Da geht alles durch Leerzeichen Sonderziechen Buchstaben Zahlen ... eben alles was Deine Tastatur hergibt
 
Alt 21.01.2005, 23:53  
Erfahrener Benutzer
 
Registriert seit: 23.07.2004
Beiträge: 100
Tutti
Standard

zu1: da gefällt mir die Regexps-Lösung von Bruder Tuck aber besser
zu2: leider kann ich dir da immer noch nicht richtig folgen.
Du übergibst Namen und PW per POST an dein Script welches anhand dieser Daten eine DB-Abfrage startet und nach einem gültigen Eintrag sucht.

Beispiel:

PHP-Code:
<?
$name  
$_POST['name'];
$kennw $_POST['kennw'];

$anfrage "SELECT name,kennw FROM user WHERE (name like '$name') AND (kennw like '$kennw')";
$ergebnis mysql_query ($anfrage);
 if (
mysql_num_rows ($ergebnis) == 1) {
    
// Es wurde was gefunden
    // Log den User ein
 
} else {
    
// nichts gefunden
    //  Meckermeldung
    
}
?>
__________________
Tutti ist offline  
Alt 22.01.2005, 00:32  
Gast
 
Beiträge: n/a
Standard

zu 2.
Eingabe des Users bei Username: user1
Gespeicherter Username in der Datenbank: UsEr1

PHP-Code:
<?php 
$username_aus_datenbank
=strtoupper($username_aus_datenbank); // kann weggelassen werden, wenn bei der Anmeldung schon ein definiertes Format gespeichert wurde
$username_aus_formular=strtoupper($username_aus_formular);
if(
$username_aus_datenbank!=$username_aus_formular)
    exit(
"Username nicht gefunden");
... 
weiter im Code
?>
zu 1.

Der Threadstarter möchte prüfen, ob der eingegebene Wert ein Integer darstellt (Trikotnummern sind i.d.R. Integers). Warum nun also nicht einfach prüfen, ob der übergebene String einen gültigen Int enthält?
PHP-Code:
<?php
settype
($trikotnummer"integer"); // ist 0, wenn $trikotnummer z.B. a99 wäre, ist aber 99, wenn $trikotnummer 99a wäre
if($trikotnummer==0)
   exit(
"falscher Wert eingegeben");
// beliebige weitere Tests durchführen
?>
Der Threadstarter hat mehrfach hervorgehoben, dass er Anfänger ist, deswegen hier wieder die Frage: Hilft es ihm mehr, wenn er das Ganze nachvollziehen kann, oder hilft es mehr, wenn er einen Regexp-Ausdruck per Copy&Paste übernimmt? Obwohl ich hohe Ansprüche an die Lernwilligkeit von Noobs stelle, erwarte ich ganz sicher nicht, dass er den Regexp-Ausdruck zerlegt um zu sehen, was genau das macht. Ist natürlich letztlich Geschmackssache.

cu
 
 


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
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
gettext, einige fragen notyyy PHP Tipps 2008 12 01.05.2008 12:09
2 Fragen zu AJAX Freeaak HTML, Usability und Barrierefreiheit 11 22.02.2007 18:29
Fragen eines Anfängers ;) ap1 PHP Tipps 2006 22 12.06.2006 20:20
Datenbank fragen Off-Topic Diskussionen 8 07.11.2005 14:21
[Erledigt] 2 kleine Fragen... Off-Topic Diskussionen 2 19.10.2005 17:16
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
mal ein paar fragen zu login und "communitysytem" Fraylman PHP Tipps 2004-2 10 30.12.2004 17:32
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
Zwei Fragen ... PHP Tipps 2004 14 29.10.2004 15:48
Fragen über Fragen :) Igäl PHP Tipps 2004 3 26.08.2004 08:59
[Erledigt] Mehrere Fragen: Verschlüsseln?, Ändern?, copy()?... PHP Tipps 2004 11 23.08.2004 21:12
[Erledigt] Fragen zu SSL Off-Topic Diskussionen 0 13.08.2004 17:41
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12
Bitte rasch hilfe zu diesen 2 fragen PHP Tipps 2004 3 16.06.2004 21:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php strtoupper in datenbank, php strtoupper bei db abfrage#, \an euch zwei\, regexp kleinbuchtsaben

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:10 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.