私は自分のアプリにユーザーを登録しようとしていますが、年齢が存在するかどうかを確認して登録プロセスをやめ、ユーザー登録のためのコードを書きました。誰もが私のコードを逃しているものを私に伝えることができ、それがうまく機能し、まだ年齢が存在していた場合でも、登録を許可していませんcheck_age機能を使用して、登録を検証してみました:ここに は私のコードです:PHP既存の値を確認してからMYSqlに挿入
<?php
if($_SERVER["REQUEST_METHOD"]=="POST")
{
require "init.php";
creat_Student();
}
function creat_Student()
{
global $con;
$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];
$age=$_POST["age"];
if(strcmp(check_age(), '0') == 0)
{
$query="Insert Into student(firstname,lastname,age) values ('$firstname','$lastname','$age');";
mysqli_query($con,$query);
mysqli_close($con);
}
else
echo "not true";
}
function check_age()
{
global $con;
$age=$_POST["age"];
echo " $age";
$temp_arr=array();
$query="SELECT * FROM student where age ='{$age}'; ";
$result=mysqli_query($con,$query);
$num_of_rows=mysqli_num_rows($result);
if($num_of_rows==0)
return '0';
else
return '1';
}
少し離れているものがいくつかあります。なぜユーザー登録は年齢によって異なりますか?これのアプリケーションは何ですか?いくつかのサニタイズや準備済みのステートメントを使用する必要があります。 –
'$ num_of_rows'が0より大きいかどうか確認するなど、いくつかのタスクを実行する前に、まず変数を初期化してください(ただし、この変数をどこで初期化しましたか?)。 –
ああ、そしてstrcmp()???なぜ???整数をtrueとfalseに評価するのが賢明ならば、false/trueまたは0と1を返します。 –