ilch Forum » Allgemein » HTML, PHP, SQL,... » abfrage obs eine nummer ist

Geschlossen
  1. #1
    User Pic
    -GoA][-Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    hi all

    habe mir jetzt ein formular was alles gut funkt nur will ich gerne eine abfrage machen wo man bei der geburtstaganzeige nur zahlen eingeben kann die habe ich mit
    is_nummeric()

    versucht was aber nicht geklappt hat.
    Als nächstes würde ich gernen eine Abbfrage machen ob bei der e-mail ein @ vorkommt und am ende ein .de oder so aber wie kann mit da jemand helfen
    ________________________

    das komplette formular sieht so aus

    <?php 
    defined ('main') or die ( 'no direct access' );
    
    
    $title = $allgAr['title'].' :: ts Antrag';
    $hmenu = 'Antrag';
    $design = new design ( $title , $hmenu );
    $design->header();
    if(isset($_POST['submit'])){
    $nz = chr(13).chr(10);
    $fehler = "";
    $anrede = $_POST['anrede'];
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $gb = $_POST['gb'];
    $gb2 = $_POST['gb2'];
    $gb3 = $_POST['gb3'];
    $gb4 = "$gb.$gb2.$gb3";
    $email = $_POST['e-mail'];
    $url = $_POST['url'];
    $slots = $_POST['slots'];
    $login1 = $_POST['login-name'];
    $login2 = $_POST['login-passwort'];
    $datum = date("j.n.Y").$nz;
    $zeit = date("H:i").$nz;
    $von = "Von: " .$nachname.$nz;
    $linie = "--------------".$nz;
    $lang = "Anrede: " .$anrede ."\n". "Nachname: " .$nachname ."\n". "Vorname: " .$vorname ."\n". "Geburtstag: " .$gb4 ."\n".
                "Email: ".$email."\n"."Homepage Url: ".$url."\n"."Slots: ".$slots."\n". "Login Name: " .$login1 ."\n".
                "Login Passwort: ".$login2;
    if(empty($anrede)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihre Anrede ausfüllen</li>";
    if(empty($vorname)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihren Vornamen angeben</li>";
    if(empty($nachname)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihren Nachnamen angeben</li>";
    if(empty ($gb) && ($gb2) && ($gb3)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihr Geburtsdatum angeben</li>";
    if(empty($email)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihre E-mail angeben</li>";
    if(empty($url)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihre URL angeben</li>";
    if(empty($slots)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihre slots Zahl angeben</li>";
    if(empty($login1)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihren Login Namen angeben</li>";
    if(empty($login2)) $fehler .= "<li style=\"color:#FF4D33 \">Sie müssen ihr Login Passwort Angeben angeben</li>";
    if(empty($fehler))
    {  
      $text = $von.$datum.$zeit.$linie.$lang;
      $from = "From:Antragsmodul<Jason-Forhie@gmx.de>".$nz;
      $betreff = "Ts Sponsoring";
      
      echo "erfolgreich Abgesendet";
      mail("Jason-Forhie@gmx.de", $betreff, $text, $from);
    }
    else
    {
      echo "Formular konnte nicht gesendet werden weil";
      echo "<ul>$fehler</ul>";
    }
    }
    ?>
    <form method="post" action="" onsubmit="return checkform();">
    <fieldset>
      <legend>Personenangabe</legend>
        <div style="float:left; width:100px;">Anrede</div>
        <select name="anrede">
          <option label=""></option>
          <option label="Herr">Herr</option>
          <option label="Frau">Frau</option>
        </select><br>
        <div style="float:left; width:100px;">Vorname</div><input type="text" name="vorname" id="form_vorname"><br>
        <div style="float:left; width:100px;">Nachname</div><input type="text" name="nachname" id="form_nachname"><br>
        <div style="float:left; width:100px;">Geburtsdatum</div><input type="text" name="gb" size="1" maxlength="2" id="form_gb">.&nbsp;<input type="text" size="1" name="gb2" maxlength="2" id="form_gb2">.&nbsp;<input type="text" maxlength="4" name="gb3" id="form_gb3" size="4">
        <br>
        <div style="float:left; width:100px;">eMail</div><input type="text" name="e-mail" id="form_e-mail"><br>
        <div style="float:left; width:100px;">Homepage URL</div><input type="text" name="url"><br>
        <div style="float:left; width:100px;">Slots</div>
        <select label="slots" name="slots" id="form_slots">
          <option label="10">10</option>
          <option label="20">20</option>
          <option label="30">30</option>
          <option label="40">40</option>
          <option label="50">50</option>
          <option label="60">60</option>
          <option label="70">70</option>
          <option label="80">80</option>
          <option label="90">90</option>
          <option label="100">100</option>
        </select>
          
    </fieldset>
    <fieldset>
      <legend>Login Daten</legend>
      <div align="left"><h4>Gebe hier dein Passwort und username an damit wirst du dich später ins ts einlogen können</h4></div>
      <div style="float:left; width:100px;">Login Name</div><input type="text" name="login-name" id="form_login-name"><br>
      <div style="float:left; width:100px;">Login Passwort</div><input type="text" name="login-passwort" id="form_login-passwort"><br>
      <div style="float:left; width:100px;">&nbsp;</div><input type="submit" name="submit" value="Absenden">
    </fieldset>
    </form>
    <?php $design->footer(); ?>
    <?php 
    
    $betreff = "Antragsmodul fead back";
    $text = "
      Sehr Geehrte/r $nachname $nz
      Vielen Dank, dass sie sich für uns entschieden haben.$nz
      Wir werden ihren Antrag in den nächsten 24 Stunden Bearbeiten.$nz
      $nz
      Falls wir ihren Antrag annehmen bitte die Daten gut aufbehalten:$nz
      $lang
       
    ";
    mail($email, $betreff, $text, $from)
    ?>
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hey, -GoA][-Sniper!

    de.php.net !!!

    is_numeric()

    Mit böhsen Grüßen
    BöhserDavid
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    -GoA][-Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    und wie mache ich des mit der e-mail
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    sCoRpIoN Mitglied
    Registriert seit
    03.03.2005
    Beiträge
    1.883
    Beitragswertungen
    0 Beitragspunkte
    ich würde von is_numeric definitiv abstand nehmen; bei dieser funktion gibt es den großen nachtteil, dass alle numerischen zahlen durchgelassen werden, also beispielsweise auch: +0123.45e6 oder 0xFF.

    wäre es dabei nicht viel hilfreicher, wennste das datum als string eingeben lässt: tt.mm.jjjj und diesen dann im verarbeitungsteil deines skriptes per $gb_arr=explode(".", $_POST['gb']) in einen array umwandeln lässt;

    anschließend dann nur noch:
    if(!((int)$gb_arr[0] > 0 && (int)$gb_arr[0]<32)){
        $fehler .= "...";
    }
    if(!((int)$gb_arr[1] > 0 && (int)$gb_arr[1]<13)){
        $fehler .= "...";
    }
    if(!((int)$gb_arr[2] > 1900 && (int)$gb_arr[2]<2008)){
        $fehler .= "...";
    }



    @ email:
    hier würde ich ähnlich wie oben vorgehen; einfach per explode("@",$_POST['email']) den string zerlegen lassen und dann entsprechend auf sonderzeichen überprüfen lassen bzw. hier gleich per smtp-socket n anklopfversuch machen, ob der account tatsächlich existiert (achtung höhere skriptlast);

    gruss
    scorp
    free-design: externer Link

    --## externer Link ##--
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Für die E-mail würde ich das eher per preg_match() machen, siehe
    externer Link

    Und von einer Überprüfung des Accounts beim Mailserver kann ich abraten, weil es bis zu 2min dauern kann, bis die Antwort zurück kommt...
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten