tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
525
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    hi @ all,

    nochmal ne frage

    Ich les mir hier nen string aus ner spalte im admin bereich in der die zahl 90 steht.. Und mit der man einen Zeitraum bestimmen kann die 90 steht hier für Tage...

    PHP-Code:
    $ipi dPgetSysVal('PasswordIntervall');
    $ipi['Intervall'
    Nun ganz einfache frage...! (hoffe ich)
    Kann ich irgendwie in ne if abfrage mit einbauen das nur integer ausgelesen werden? Und falls etwas anderes wie z.b "tw 90" drin steht das "tw" einfach als "00" interpretiert wird?
    Das sollte normal zwar nicht passieren... Aber sicher sollte sicher sein :/

    Freue mich wenn ihr mir mal wieder helfen könntet

    mfg terra
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Dann wandle den ausgelesenen Wert mit intval um.

    Liefert den integer-Wert von var unter Benutzung der angegebenen Basis. (Standardwert ist base=10). intval() sollte nicht auf Objekte angewandt werden, da dies eine Meldung vom Typ E_NOTICE erzeugt und den Wert 1 zurückgibt.
    PHP-Code:
    <?php

    // ergibt natürlich 10
    echo intval("10");

    // ergibt den Wert 5
    echo intval("5und noch Text dazu)");

    // ergibt 0
    echo intval("Text steht vor der Zahl 7");

    ?>
    Geändert von tombe (15.12.11 um 15:44 Uhr)
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    ähm wie genau meinst du das jetzt?

    Ich geb den wert ja nicht im quellcode an sondern in dem admin feld...
    Geändert von TerraX10 (15.12.11 um 15:55 Uhr)
     

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ja gut aber irgendwo liest du dann den eingegebenen Wert aus diesem Feld aus (eventuell schickst du ein Formular ab?). Diesen Wert wandelst du dann mit intval um.

    Oder liest du den Wert aus einer Datenbank aus? Dann kannst du dort schon durch den Feldtyp steuern das nur numerische Werte gespeichert werden können.

    Ansonsten halt mit einer IF-Anweisung

    PHP-Code:
    if (intval($ipi['Intervall'])) == 0) {
        echo 
    "Ungültiger Wert.";
    } else {
        echo 
    "Der Wert ist in Ordnung.";

    Die Frage ist auch was verstehst du unter einem "Adminfeld" ?
    Geändert von tombe (15.12.11 um 16:04 Uhr)
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  5. #5
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    Naja also... Auf diesen speziellen bereich hat nur ein admin zugriff...
    Und dort gibts eben ne spalte Namens PasswordIntervall .. Diese spalte regelt wie lange etwas dauert bis ne bestimmte funktion zugreift.. Und da möchte ich eben das man dort wirklich nur Zahlen eingeben kann! Sonst nichts anderes

    Ja ich les dem aus nem feld aus...

    Soweit hat ichs ja auch schon hinbekommen...
    aber so ließt er mirs ja nur aus und ignoriert das "tw" nicht >.<
    Geändert von TerraX10 (15.12.11 um 16:15 Uhr)
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Drehen wir den Spieß mal um. Zeig wie du es bisher versucht hast bzw. jetzt versuchst.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  7. #7
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    Naja versuchen trifft es ja ..

    Also momentan hab ichs so stehen...

    PHP-Code:
    $ipi dPgetSysVal('PasswordIntervall');
        
                    if(!
    ereg("^[0-999]+$",$ipi)){
                        echo 
    "Ok";
                        }else{
                        echo 
    "Falsche Eingabe";
                        } 
    Geändert von TerraX10 (15.12.11 um 16:26 Uhr)
     

  8. #8
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Sorry aber die Funktion "dPgetSysVal" kenne ich nicht und weiß deshalb auch nicht welchen Wert sie an $ipi übergibt.

    Weiter oben sah es so aus als ob $ipi ein Array wäre weil du da mal geschrieben hast $ipi['Intervall'].

    Kann es vielleicht sein das da dein Fehler liegt!?

    Arbeite doch mal mit "offenen Werten" und gebe $ipi = "123" oder $ipi = "abc0815" an. Dann siehst du was mit welchen Werten passiert.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  9. #9
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    PHP-Code:
     $ipi dPgetSysVal('PasswordIntervall');
    echo 
    $ipi['Intervall'
    Nene das passt schon
    also damit les ich einfach nur das Feld aus um zusehen was eben drinne steht .. In meinem Falle hab ich da nun grad "tw90" drin..

    Er gibt mir auch ohne weiters aus das die eingabe falsch ist ... Aber ich möchte ja einfach nur verhindern das dort "tw90" aktzeptiert wird... Ich will wirklich einzig und allein das in dem feld nur Integer übernommen werden... Oder renn ich da grad gegen ne wand...?
     

  10. #10
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ja und zwar gegen eine ganz dicke.

    Wenn du den Wert erst aus der DB holst und dann prüfst, dann ist er doch schon falsch gespeichert. Du musst die Prüfung beim Speichern vornehmen oder wie bereits geschrieben den Feldwert auf z.B. Integer einstellen.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  11. #11
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    Hö wie kommst du jetzt drauf das ich das aus der Db ausles o.O?

    Das tu ich doch garnicht... Das is en stink normales Input field
     

  12. #12
    Avatar von Anna Bolika
    Anna Bolika Anna Bolika ist offline Mitglied Silber
    Registriert seit
    Jan 2011
    Beiträge
    75
    Das Problem von tombe solltest du dir nochmal anschauen. Da hast du noch einen Fehler.

    das hier:
    if(!ereg("^[0-999]+$",$ipi)){

    macht im Zusammenhang damit
    echo $ipi['Intervall']

    keinen Sinn.

    Wenn du bei sowas wie tw90 wirklich nur die 90 rausziehen willst, versuch es so:
    PHP-Code:
    $ipi['Intervall']  = intval(preg_replace('![^0-9]+!'''$ipi['Intervall'])); 
    Ist allerdings ne komische Lösung.

    Ich würde dir empfehlen, statt einer Eingabe mit <input....> lieber auf eine <select>-Box zu setzen und die Werte vorzugeben.

    Wenn ich das hier richtig interpretiere
    if(!ereg("^[0-999]+$",$ipi)){

    willst du nur Werte zwischen 0 und 999 annehmen. Das tut diese Zeile übrigens nicht

    Mein Tipp: für die Werte ne Select-Box und dann in 30er Schritten bis 900 zählen, wobei 900 auch irgendwie Blödsinn ist. Alle 900 Tage das Passwort wechseln? Das sind 3 Jahre. Dann kann man sich die Abfrage auch sparen .-)

    Vielleicht besser, nur die Werte 7, 14, 30, 60, 90, 180, 360 vorgeben. Das reicht und man scrollt sich auch keinen Wolf.
     

  13. #13
    TerraX10 TerraX10 ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    63
    Danke schonma für die tipps xD

    Ich werd das jetz irgendwie zusammenbasteln

    Mfg Terra
     

  14. #14
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ich habe dich gefragt ob das Feld in einer Form ist und es kam keine klare Antwort (du würdest das Feld auslesen). Das verstehe ich so das du den Wert aus einer Datenbank ausliest!

    Bevor man noch mehr Zeit mit raten verbringt, kläre uns doch ma bitte auf wo der Wert jetzt wirklich herkommt.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 13.06.11, 22:01
  2. Antworten: 10
    Letzter Beitrag: 26.02.10, 11:12
  3. Alles markieren wenn das Feld ein Array ist
    Von Thomas_Jung im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 19.01.10, 23:01
  4. Antworten: 6
    Letzter Beitrag: 25.02.09, 11:54
  5. Cursor in einem CEditView auf andere Position setzten
    Von Alex1711 im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 28.06.07, 11:26

Stichworte