Разрешить только 1 POST каждого раскрывающегося значения в форме PHP - PullRequest
0 голосов
/ 09 октября 2018

У меня есть простая форма PHP для вставки "моделей" (в dorpdown) с ценой.Я хочу сделать то, что вы можете опубликовать модель 1 только один раз и модель 2 один раз и т. Д. Так что, если вы выберете модель 1 в раскрывающемся списке и опубликуете ее, попробуйте еще раз, чтобы она не позволяла вам, потому что вы уже опубликовали модель1.

извините за мой плохой английский

        <select name="model">
        <?  
        $modellen[1]= "Model 1";
        $modellen[2]= "Model 2";
        $modellen[3]= "Model 3";

        foreach ($modellen as $key => $value) 
        {
            echo "<option value='".$key."''>".$value."</option>";
        }
        ?>
        </select>


if(isset($_POST['toevoegen'])) 
    {
        $prijs = Safesql($_POST['prijs']);
        $moment = date("Y-m-d h:i:sa");
        $kiesmodel = Safesql($_POST['model']);
        if(!$mysqli->query("INSERT INTO prijzen (prijs, created, model) VALUES (".$prijs.",'".$moment."' , '".$kiesmodel."')")) {echo $mysqli->error;}
        else{ echo "het toevoegen is gelukt";} 
        Laden(0);
    }



 //show records from database
if ($query = $mysqli->query("SELECT * FROM prijzen")) { echo $mysqli->error;}

if ($query->num_rows >= 1) 
    {
    while($row = $query->fetch_assoc()) 
        {
            ?><tr><td><form action="index.php" method="post">
            <? echo "Model" . " " . $row['model']; ?><a href="index.php?verwijderen=<?php echo $row['id']; ?>"><img src="delete.png"></a>
            <a href="index.php?edit=<?php echo $row['id']; ?>"><img src="edit.png"></a><?
            echo "  prijs:" . $row['prijs']. "<br>" ."";?><?
        }
    }

1 Ответ

0 голосов
/ 09 октября 2018

попробуйте добавить проверку перед вставкой,

if(isset($_POST['toevoegen'])) 
{
    $prijs = Safesql($_POST['prijs']);
    $moment = date("Y-m-d h:i:sa");
    $kiesmodel = Safesql($_POST['model']);

    // validation
    $sql = "SELECT * FROM prijzen WHERE model = '$kiesmodel'";
    $query = $mysqli->query($sql);
    $row = $query->fetch_assoc();
    if (count($row) >= 1) {
        echo "<script>alert('You already add this model')</script>";
    }else{
        if(!$mysqli->query("INSERT INTO prijzen (prijs, created, model) VALUES (".$prijs.",'".$moment."' , '".$kiesmodel."')")) {echo $mysqli->error;}
        else{ echo "het toevoegen is gelukt";} 
        Laden(0);
    }      

}

может она вам может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...