使用php设置输入最大长度

使用php设置输入最大长度,php,sql,Php,Sql,我试图为我的输入设置一个最大值。我可以用html实现,但任何人都可以在任何浏览器的“检查”菜单中轻松覆盖它。所以我想用php来设置它。我真的不知道我应该把它放在哪里,这是不是正确的方式 <?php $link = mysqli_connect("localhost", "root", "", "reg"); mysqli_set_charset($link, "utf8"); // Check connection if($link === false){ die("ERROR:

我试图为我的输入设置一个最大值。我可以用html实现,但任何人都可以在任何浏览器的“检查”菜单中轻松覆盖它。所以我想用php来设置它。我真的不知道我应该把它放在哪里,这是不是正确的方式

<?php
$link = mysqli_connect("localhost", "root", "", "reg");
mysqli_set_charset($link, "utf8");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Escape user inputs for security
$name = mysqli_real_escape_string($link, $_REQUEST['name']);
$job = mysqli_real_escape_string($link, $_REQUEST['job']);
$email = mysqli_real_escape_string($link, $_REQUEST['email']);
$phone = mysqli_real_escape_string($link, $_REQUEST['phone']);
$phone2 = mysqli_real_escape_string($link, $_REQUEST['phone2']);
$address = mysqli_real_escape_string($link, $_REQUEST['address']);
$description = mysqli_real_escape_string($link, $_REQUEST['description']);
$visibility = mysqli_real_escape_string($link, $_REQUEST['visibility']);

// attempt insert query execution
$sql = "INSERT INTO cards (name, job, email, phone, phone2, address, description, visibility) VALUES ('$name', '$job', '$email', '$phone', '$phone2', '$address', '$description', '$visibility')";
if(mysqli_query($link, $sql)){
    header("Location: addbusiness.php?message=1");
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

if(strlen($name) > 10)
{
echo "Max value is 10";
}

// close connection
mysqli_close($link);
?>

在执行插入之前,您需要执行
strlen()
检查,如果检查失败,则不插入任何内容

if(strlen($name) > 10)
{
    echo "Max value is 10";
    exit();
}
// attempt insert query execution
$sql = "INSERT INTO cards (name, job, email, phone, phone2, address, description, visibility) VALUES ('$name', '$job', '$email', '$phone', '$phone2', '$address', '$description', '$visibility')";
if(mysqli_query($link, $sql)){
    header("Location: addbusiness.php?message=1");
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}



您还应该学习使用准备好的语句,而不是替换变量。转义不是一个合适的解决方案。如果我使用您的代码,我会收到以下错误消息:
注意:未定义索引:第18行C:\xampp\htdocs\vallalkozok-v2\insert.php中的可见性与我的代码无关。这意味着提交的表单中没有
可见性
参数。使用
$\u REQUEST['visibility']
的行在我的代码之前,它不会对它产生任何影响。但是如果没有您的代码,我不会得到任何错误。可见性不是表单的一部分,因为它会自动在数据库中提供0值。添加我的代码时,您一定更改了某些内容,我无法以任何其他方式对此进行解释<代码>$\u当表单或URL查询字符串中发送了
可见性
参数时,将设置请求['visibility']
if(strlen($name) > 10)
{
    echo "Max value is 10";
    exit();
}
// attempt insert query execution
$sql = "INSERT INTO cards (name, job, email, phone, phone2, address, description, visibility) VALUES ('$name', '$job', '$email', '$phone', '$phone2', '$address', '$description', '$visibility')";
if(mysqli_query($link, $sql)){
    header("Location: addbusiness.php?message=1");
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}