好的,让我简单总结一下.我有两个用html制作的文本框.我希望在那里键入的内容存储到两个变量中,但我希望页面做两件事,一,我想设置提交按钮(使用isset),这样它就不会在开头显示错误.我怎么做,假设我的两个变量是$ textbox1和$ textbox2.我得到的错误是未定义第26行的变量,这是我的HTML textbox2所在的位置.我还要注意,我的文本框的值也是变量.如果你不理解我,滚动到代码的底部,看看我在说什么.
<?php
if (isset($_POST['submit'])) {
$textbox1 = $_Post['txtbox1'] && $textbox2=$_POST['txtbox2'];
if ($textbox1=="John" && $textbox2="Doe") {
Print ("Welcome back friend");
} else {
print ("You're not a member of this site");
}
} else {
$textbox1="" && $textbox2="";
}
print($textbox1 && $textbox2);
?>
<input type="text" value="<?php print($textbox2); ?>" name=txtbox2>
Run Code Online (Sandbox Code Playgroud)
&&是一个逻辑运算符.您不能使用它在一行中设置多个变量.所以
$textbox1 = $_Post['txtbox1'] && $textbox2=$_POST['txtbox2'];
Run Code Online (Sandbox Code Playgroud)
应该读
$textbox1 = $_POST['txtbox1'];
$textbox2 = $_POST['txtbox2'];
Run Code Online (Sandbox Code Playgroud)
此外,您在第二个条件中使用赋值(=)而不是相等检查(==).
if ($textbox1=="John" && $textbox2="Doe") {
Run Code Online (Sandbox Code Playgroud)
应该读
if ($textbox1 == 'John' && $textbox2 == 'Doe') {
Run Code Online (Sandbox Code Playgroud)
同样,在您else和print()之后,您尝试使用逻辑运算符,而不应该使用逻辑运算符.在else中,将它分成两行,如上所示,在你的print()语句中你应该使用连接,而不是&&.
我不完全理解你在这里要完成的任务,但这些是我在你的代码中看到的问题.