Noob警报!我在Lynda.com上做Kevin Skoglund的PHP Essentials课程。 CH。图11是示出超全球的示例。他正在使用php 5.6,我的WAMP是为php 7.0.1设置的。我不能把这个简单的形式发布到超全球,我不知道为什么。
<?php
if(isset($_POST['submit'])){
$username = $_POST["username"];
$password = $_POST["password"];
$message = "Logging in {$username}";
} else{
$message= "The form was not submitted";
}
;?>
<html lang="en">
<head>
<title>Hello World</title>
</head>
<body>
<?php echo $message;?>
<form method="post" action="">
<label for="username">Username: </label>
<input type="text" name="username" id="username" value=""/>
<br />
<label for="password">Password:</label>
<input type="password" name="password" id="password" value=""/> <br />
<br/>
<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>
无论在两个字段中输入什么内容,输出始终为null。它从localhost目录运行,WAMP正在运行。什么可能导致这么简单的错误?
答案 0 :(得分:1)
首先感谢所有试图帮助我的人。它不是代码,但最终错误似乎源自PHPstorm。通过IDE启动它来运行php文件时,似乎在localhost地址中添加了一个端口号。http://localhost:63342/www/Helloworld.php?_ijt=6jrieg9npqffa11j0l2k3bv05h
这会导致post值在运行表单时丢失,因此超级全局变回空。
当我直接从WAMP菜单启动localhost并输入文件的url时,例如http://localhost/Helloworld.php
,然后代码按预期运行。我仍然需要弄清楚如何让PHPstorm将php文件运行到正确的localhost实例中,但是现在还有一个解决方法。