我已经按照wc3教程中有关回显php变量的指示来表示错误的输入字段。我不明白为什么这行不通。
我有一些奇怪的范围问题:
tools.php:
if(!isset($_POST)){
$name_error = "";
}
if(isset($_POST) && !empty($_POST)){
$_SESSION['current'] = $_POST;
validateForm();
}
index.php:
<span class="error"><?php echo $name_error; ?></span>
tools.php:
function validateForm() {
$cust = $_SESSION['current']['cust'];
$usermovie = $_SESSION['current']['movie'];
$userseats = $_SESSION['current']['seats'];
if(!preg_match('/[a-zA-Z ]+/', $cust['name']) || empty($cust['name'])){
$name_error = "a-z only.";
echo $name_error;
} else{
$_SESSION['bookings'][] = $_SESSION['current'];
echo 'pass';
$name_error = "";
}
}
我知道它正在击中函数并更新$ name_error的值,因为它从函数中回显了正确的值。同样,如果我手动将$ name_error的值设置为字符串,则它会正确显示在错误范围内。但是,当我只提交表单/正常运行函数时,跨度中的$ name_error的值不会更新。
答案 0 :(得分:0)
您没有返回任何值。像这样返回buildscript {
ext.kotlin_version = '1.3.21'
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
值:
$name_error
答案 1 :(得分:0)
解决了这个问题,需要声明
global $name_error;
在函数开始时-谁能给我一种返回错误范围内单个函数结果的方法吗?我显然不能只在那里打电话给他们。