Я пытаюсь зарегистрировать пользователей в своем приложении, и я попытался проверить, существует ли возраст, а затем остановить процесс регистрации, я написал свой код для регистрации пользователей и работал очень хорошо, но когда я пытался подтвердить регистрацию с помощью функции 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';
}
Есть несколько вещей, которые немного не по себе. Почему wold регистрация пользователя будет зависеть от возраста таким образом? Каково применение этого? Вы также нуждаетесь в санировании или использовании подготовленных заявлений. –
Безопасный совет (может не решить вашу проблему), сначала инициализируйте свои переменные, прежде чем пытаться выполнить некоторые задачи на них (например: вы проверяете, больше ли число $ num_of_rows больше 0, но где вы инициализировали эту переменную?). –
О, и strcmp() ??? Зачем??? return false/true или 0 и 1, если это умный, чтобы оценить целое число на true и false. –