HTML/PHP 奇怪的错误
HTML/PHP weird error
所以我正在开发一个网站,您可以在该网站上教新手一些我们需要知道的代码。
这是在网站上:A table,在一个表格中,您必须在某些水果、蔬菜tables 和面包(超市的东西..)的输入字段中输入正确的代码。
所以像这样:图片 - 黄瓜 - 在这里填写代码
最后,会检查您是否填写了正确的代码。
唯一的问题是:
这个有效:
index.php:
<?php
if(isset($_POST['komkommer'])){
/* Include PHP scripts first */
include_once 'phpscripts/plu.php';
include_once 'phpscripts/groentestore.php';
/* Call the check functions */
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in! </p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these if statements...
}
else {
}
?>
groentestore.php:
<?php
$komkommer = $_POST['komkommer'];
$rodekool = $_POST['rodekool'];
...more of this...
?>
plu.php:
<?php
$plu_komkommer = 232;
$plu_rodekool = 236;
...more of this...
?>
这行不通:
index.html:
<?php
if(isset($_POST['komkommer'])){
/* Include PHP scripts first */
include_once 'phpscripts/plu.php';
include_once 'phpscripts/groentestore.php';
include_once 'phpscripts/functions.php';
/* Call the check functions */
groenteCheck();
}
else {
}
?>
functions.php:
<?php
function groenteCheck() {
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
第二种方法,我遇到了这些错误:
Notice: Undefined variable: plu_komkommer in
C:\xampp\htdocs\phpscripts\functions.php on line 3
Notice: Undefined variable: komkommer in
C:\xampp\htdocs\phpscripts\functions.php on line 3
Notice: Undefined variable: plu_rodekool in
C:\xampp\htdocs\phpscripts\functions.php on line 6
Notice: Undefined variable: rodekool in
C:\xampp\htdocs\phpscripts\functions.php on line 6
我正在尝试使用第二种方法,其中有将近 50 个 if 语句,我想保持我的 index.php 干净。
有人知道我做错了什么吗?
选项-1:
将它们声明为全局
<?php
function groenteCheck() {
global $komkommer, $plu_komkommer, $rodekool, $plu_rodekool;
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
选项-2:
将它们作为参数传递
<?php
function groenteCheck($komkommer,$plu_komkommer, $rodekool, $plu_rodekool) {
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
然后像这样调用函数
groenteCheck($komkommer,$plu_komkommer, $rodekool, $plu_rodekool);
这是变量作用域在 PHP 中工作方式的一个特性。
在您的 groenteCheck()
函数中,您需要在顶部添加一行:
function groenteCheck() {
global $komkommer, $plu_komkommer ...
// rest of function variables
}
有关范围在 PHP 中如何工作的更多信息,请参见 in the manual。
所以我正在开发一个网站,您可以在该网站上教新手一些我们需要知道的代码。 这是在网站上:A table,在一个表格中,您必须在某些水果、蔬菜tables 和面包(超市的东西..)的输入字段中输入正确的代码。
所以像这样:图片 - 黄瓜 - 在这里填写代码
最后,会检查您是否填写了正确的代码。 唯一的问题是:
这个有效:
index.php:
<?php
if(isset($_POST['komkommer'])){
/* Include PHP scripts first */
include_once 'phpscripts/plu.php';
include_once 'phpscripts/groentestore.php';
/* Call the check functions */
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in! </p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these if statements...
}
else {
}
?>
groentestore.php:
<?php
$komkommer = $_POST['komkommer'];
$rodekool = $_POST['rodekool'];
...more of this...
?>
plu.php:
<?php
$plu_komkommer = 232;
$plu_rodekool = 236;
...more of this...
?>
这行不通:
index.html:
<?php
if(isset($_POST['komkommer'])){
/* Include PHP scripts first */
include_once 'phpscripts/plu.php';
include_once 'phpscripts/groentestore.php';
include_once 'phpscripts/functions.php';
/* Call the check functions */
groenteCheck();
}
else {
}
?>
functions.php:
<?php
function groenteCheck() {
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
第二种方法,我遇到了这些错误:
Notice: Undefined variable: plu_komkommer in C:\xampp\htdocs\phpscripts\functions.php on line 3
Notice: Undefined variable: komkommer in C:\xampp\htdocs\phpscripts\functions.php on line 3
Notice: Undefined variable: plu_rodekool in C:\xampp\htdocs\phpscripts\functions.php on line 6
Notice: Undefined variable: rodekool in C:\xampp\htdocs\phpscripts\functions.php on line 6
我正在尝试使用第二种方法,其中有将近 50 个 if 语句,我想保持我的 index.php 干净。 有人知道我做错了什么吗?
选项-1:
将它们声明为全局
<?php
function groenteCheck() {
global $komkommer, $plu_komkommer, $rodekool, $plu_rodekool;
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
选项-2:
将它们作为参数传递
<?php
function groenteCheck($komkommer,$plu_komkommer, $rodekool, $plu_rodekool) {
if($komkommer != $plu_komkommer){
echo '<p>Komkommer was niet juist! Jij voerde '.$komkommer.' in!</p>';
}
if($rodekool != $plu_rodekool){
echo '<p>Rode kool was niet juist! Jij voerde '.$rodekool.' in!</p>';
}
...More of these is statements...
}
?>
然后像这样调用函数
groenteCheck($komkommer,$plu_komkommer, $rodekool, $plu_rodekool);
这是变量作用域在 PHP 中工作方式的一个特性。
在您的 groenteCheck()
函数中,您需要在顶部添加一行:
function groenteCheck() {
global $komkommer, $plu_komkommer ...
// rest of function variables
}
有关范围在 PHP 中如何工作的更多信息,请参见 in the manual。