Voorkomen dat input leeg blijft

  • Voor o.a. de banditi source is het mogelijk om bij het invullen van een contract (hitlist) en voor de aanmaak van een familie naam een leeg veld in te vullen.


    Vervolgens wordt de lege input gepost en verschijnt tussen de contractlist en de familie namen.


    Hoe is dit te voorkomen?

  • Voor het familiegedeelte kom ik er niet uit. Nu staat er


    PHP
    <?}
    if($data->contant >= 100000){
    if(isset($_POST['Submit'])){
    $fam1 = mysql_query("SELECT * FROM `families` WHERE `naam`='{$_POST['family']}'");
    $fam = mysql_num_rows($fam1);
    if($fam < 1){
    $_SESSION['mission'] = "Word lid van een familie";
            mysql_query("INSERT INTO `families`(`naam`,`owner`,`power`) values('{$_POST['family']}','$data->login','$data->power')");
            mysql_query("UPDATE `users` SET `famlevel`='3',`familie`='{$_POST['family']}',`contant`=`contant`-'100000' WHERE `login`='$data->login'");
    ?>


    Wat moet ik hiervan maken om het posten van een lege familie naam te voorkomen?

  • Het voorbeeld werd al gegeven (empty), echter, wil je spaties ook niet accepteren, doe het dan als volgt:


    PHP
    <?php
    
    
    if(empty(trim($var))) {
     echo 'Geen waarde';
    }
    
    
    ?>


    Controleer dan wel eerst even de waarde.


    Wanneer je dit gebruikt, kun je je ook eens bedenken of een reguliere expressie niet beter is:


    PHP
    <?php
    
    
    if(!preg_match('/^[A-Z0-9-]{4,16}$/is',$var)) {
     echo 'Voldoet niet aan voorwaarde.';
    }
    
    
    ?>
  • Dank je Killingdevil, dit is zeer duidelijk. Probleem blijft echter nog steeds dat ik het niet in het script werkende krijg.


    Zou iemand dit deel in mijn script kunnen inbouwen zodat ik hetzelfde deel zelf in de hitlist part kan verwerken?


    Dit is het volledige script:


  • Kijk eerst of een post waarde bestaat..


    door

    PHP
    if(isset($_POST['veld']))
    {
       //Dan kan je controleren of het veld leeg is ;) of als er gekke dingen instaan.
    }

    Hosting Network Services. Special Firewalled hosting for crime games.
    ******
    Msn:** Stuur maar PM.

  • IhMedia...


    Dat kan wel maar dan krijg je met error_reporting(E_ALL) een error.
    Undefined variable..


    Dat komt omdat je moet kijken of die hele post waarde wel bestaat ;)
    Met die krijg je alleen maar errors.

    Hosting Network Services. Special Firewalled hosting for crime games.
    ******
    Msn:** Stuur maar PM.

  • PHP
    <?}
    if($data->contant >= 100000){
    if(isset($_POST['Submit']) && !empty($_POST['family'])) {
    $fam1 = mysql_query("SELECT * FROM `families` WHERE `naam`='{$_POST['family']}'");
    $fam = mysql_num_rows($fam1);
    if($fam < 1){
    $_SESSION['mission'] = "Word lid van een familie";
            mysql_query("INSERT INTO `families`(`naam`,`owner`,`power`) values('{$_POST['family']}','$data->login','$data->power')");
            mysql_query("UPDATE `users` SET `famlevel`='3',`familie`='{$_POST['family']}',`contant`=`contant`-'100000' WHERE `login`='$data->login'");
    ?>

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!