Formular ohne Buchstaben

  • hi Leute kann mir jemand den Befehl dafür sagen wenn ich in einem Textfeld nur zahlen haben will ich habe im internet i-wie nur den befehl für nur Buchstaben gefunden... bei mir sieht das im mom so aus...

    PHP
    if (($_POST['Eingabe'] > 49) || ($_POST['Eingabe'] <1 ) || (is_numeric($_POST['Eingabe'])))

    die is_numeric muss durch den richtigen Befehl ersetzt werden...

  • http://de3.php.net/is_numeric

    Scroll mal ein kleines Stück nach unten auf der Seite, unter "Siehe auch" findest du unter anderem ctype_digit(), is_int() oder is_float().

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • hi danke aber ich habe jetzt irgendwie einen ganz anderen fehler in meinem script jetzt is nähmlich das problem das ich eine for-while schleife brauche um das ganze zu überprüfen...

    hier mein momentanes script...

  • Es gibt entweder for-, foreach- oder while-schleifen, aber keine for-while-schleifen ;)

    Ungetestet:

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Mit diesem PHP Befehl

    PHP
    $_POST['Eingabe']

    wertest du ja zum einen die eingabe in das input Field welches den namen "Eingabe" hat.
    Du willst ja den wert aller input fields ueberpruefen.
    Die Frage lautet also jetzt wie sind die Namen der anderen Input Fields

    Du hast da die Moeglichkeit zum einen mit Arrays zu arbeiten.
    $_POST['Eingabe'][1]
    $_POST['Eingabe'][2]
    $_POST['Eingabe'][3]
    ....

    oder mit eindeutig gekennzeichneten inputfields

    <input type="text" name="Eingabe1" size="3">
    <input type="text" name="Eingabe2" size="3">
    <input type="text" name="Eingabe3" size="3">

    $_POST['Eingabe1']
    $_POST['Eingabe2']
    $_POST['Eingabe3']

    Wie du eine For schleife verwendest um ein Array ( $_POST['Eingabe'][1], $_POST['Eingabe'][2])
    durchzuarbeiten kannst du hier sehen

    http://www.php-einfach.de/php-tutorial/php-array.php

    Ganz kurz sollte folgendes hier funktionieren
    for($x=0; $x<sizeof($_POST['Eingabe']); $x++)
    echo "$_POST['Eingabe'][$x]<br>";

  • PHP
    $_SERVER['Aufgabe 7 PHP.php'];

    Das ist Schwachsinn hoch neun!!!

    Ich habe dir doch schon einmal gesagt, dass du die Grundlagen lernen sollst!

    Ungetestet:

    Das ist auch das letzte Mal, das ich dir einen Quellcode zusammenschraube, solange du nicht die Grundlagen gelernt hast!!!

    Soft-ICE-Crack
    Viel zu umständlich, was du da baust.

  • SinnlosS

    hey dein script funltioniert fast aber bei

    PHP
    elseif(!array_search($value,$numbers)) {
                $error = $value." wurde mehr als einmal angegeben. Bitte keine doppelten Werte.";

    muss noch irgendwo ein fehler sein weil wenn ich verschiedene Zahlen angebe dann kommt "es wurden doppellte zahlen angegeben...

    und wenn ich dopellte zahlen angebe kann ihre angegeben zahlen sind z.B.
    2,2,2,2,2,2

  • und Bandit600 danke für deine Gdult mit mir aber ich habe mir schon mehrere seiten für html und php durchgelesen ich bin aber nicht durchgestiegen wirklich... ich komme da einfach nicht ganz hinter... ich bin hir im mom im Schülerpraktikum und versuche wirklich es zu verstehen geht aber net wirklich

  • SinnlosS

    hey dein script funltioniert fast aber bei

    PHP
    elseif(!array_search($value,$numbers)) {
                $error = $value." wurde mehr als einmal angegeben. Bitte keine doppelten Werte.";

    muss noch irgendwo ein fehler sein weil wenn ich verschiedene Zahlen angebe dann kommt "es wurden doppellte zahlen angegeben...

    und wenn ich dopellte zahlen angebe kann ihre angegeben zahlen sind z.B.
    2,2,2,2,2,2


    Dann übernimm doch einfach meine Skript ohne in den Bedingungen rumzupfuschen.
    array_search($value,$numbers) =/= !array_search($value,$numbers)

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Ok, ein Fehler war noch drin, trotzdem solltest du nicht in den Bedingungn pfuschen wenn du scheinbar keine Ahnung hast was die bedeuten, bzw. vorher erstmal die Befehle nachlesen um das Script auch zu checken:

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


  • So läuft es.
    is_int() in ctype_digit() geändert (Formulare übertragen wohl auch Zahlen als String)
    um array_search($value,$numbers) noch ein is_int() drumgesetzt (die erste Zahl hat den Index 0, d.h. wenn diese doppelt vorkam wurde es sonst nicht erkannt)

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Np.

    Aber wenn du noch mehr mit PHP vorhast tu dir selbst den Gefallen und lies auf http://www.php.net mal die funktionen nach die du nicht kennst, damit du das Script auch verstehst. Dann kannst du beim nächsten Mal so kleine Fehler auch selbst beseitigen. ;)
    Und beherzige Bandit's Debug-Anleitung.

    Schöne Grüße,
    SinnlosS

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Also bei $_SERVER['Aufgabe 8 PHP.php']; :D:D


    Genau. :D

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook