我想知道是否有一种方法来检查html文本输入是否为空,如果是,执行一定的PHP代码,我将提供。
HTML<input name="name" type="text" class="form-control form-control-lg" id="exampleInputName2" placeholder="your name" maxlength="36" value="<?php echo $name; ?>">
<input style="margin-top: 10px;" name="email" type="text" class="form-control form-control-lg" id="exampleInputEmail2" placeholder="your email" maxlength="36" value="<?php echo $email; ?>">
<button name="mySubmitBtn" type="submit" class="btn btn-default btn-md">subscribe</button>
PHP if(!isset(['name']) || !isset(['email']) == 0){
$msg_to_user = '<h1>Fill out the forms</h1>';
}
我想知道是否:
- 我的PHP代码语法正确,我相信它不是
- 是否可以检查输入是否为空,如果输入为空,执行PHP代码(特别是
'$msg_to_user'
) - 这是可能的调整我的代码,以便当用户单击提交按钮,并且字段都是空的
$msg_to_user
代码执行
提前感谢!
您应该使用isset
检查数组- $_POST
或$_GET
根据您的HTML表单方法。
应该是:
<form method="POST">
<input name="name" type="text" class="form-control form-control-lg" id="exampleInputName2" placeholder="your name" maxlength="36" value="">
<input style="margin-top: 10px;" name="email" type="text" class="form-control form-control-lg" id="exampleInputEmail2" placeholder="your email" maxlength="36" value="">
<button name="mySubmitBtn" type="submit" class="btn btn-default btn-md">subscribe</button>
</form>
PHP: if (!isset($_POST['name']) || !isset($_POST['email']))
{
$msg_to_user = '<h1>Fill out the forms</h1>';
} else {
// process your results
}
我想,我已经回答了问题A和b。问题C呢?这取决于你的架构。例如,如果你想从页面发布表单到自己(我的意思是index.php
文件有一个表单与动作='index.php'或空动作),那么你可以这样做(只是一个例子的方法,绝对不是最好的):
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!isset($_POST['name']) || !isset($_POST['email']))
{
$msg_to_user = '<h1>Fill out the forms</h1>';
} else {
// do something in database
if ($doSomethingInDatabaseSuccess)
$msg_to_user = '<h1>Succesffully saved!</h1>'; // really? h1? :)
else
$msg_to_user = '<h1>Something went wrong!</h1>';
} else {
$msg_to_user = '';
}
<form method="POST">
<input name="name" type="text" class="form-control form-control-lg" id="exampleInputName2" placeholder="your name" maxlength="36" value="">
<input style="margin-top: 10px;" name="email" type="text" class="form-control form-control-lg" id="exampleInputEmail2" placeholder="your email" maxlength="36" value="">
<button name="mySubmitBtn" type="submit" class="btn btn-default btn-md">subscribe</button>
</form>
<p class="result"><?php echo($msg_to_user); ?></p>
A。不,你的语法错了。
B。是的
C。是的,首先你需要给你的按钮一个name属性,这样它就可以被PHP拾取。您还需要用$_POST变量赋值$email和$name变量。
HTML<input type="text" name="name" class="form-control" id="exampleInputName2" placeholder="your name" maxlength="36" value="<?php echo $name; ?>">
<input type="email" style="margin-top: 10px;" name="email" class="form-control" id="exampleInputEmail2" placeholder="your email" maxlength="36" value="<?php echo $email; ?>">
<input type="submit" name="mySubmitBtn" class="btn btn-default btn-md" value="subscribe">
PHP //check to see if the submit button is pressed
if(isset($_POST['mySubmitBtn'])){
//assign the variables from the content of the input form
$email = $_POST['email'];
$name = $_POST['name'];
//check if name is empty
if(!isset($name) || trim($name) ==''){
$errorMsg = "You must enter a name";
return;
}
//check if email is empty
if(!isset($email) || trim($email) ==''){
$errorMsg = "You must enter an email";
return;
}
//do something else