PHP变量总是空的
我试图创建一个php登录页面,并将用户名和密码输入捕获到html文本框中。但我的问题是我的echo语句总是为变量返回null 为什么这些变量没有设置PHP变量总是空的,php,Php,我试图创建一个php登录页面,并将用户名和密码输入捕获到html文本框中。但我的问题是我的echo语句总是为变量返回null 为什么这些变量没有设置 <?php include("config.php"); session_start(); if($_SERVER["REQUEST_METHOD"] == "POST") { $myusername = mysqli_real_escape_string($db,$_POST['username']);
<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
echo $myusername;
echo $mypassword;
}
?>
<html>
<head>
<title>Login Page</title>
<style type = "text/css">
body {
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
}
label {
font-weight:bold;
width:100px;
font-size:14px;
}
.box {
border:#666666 solid 1px;
}
</style>
</head>
<body bgcolor = "#FFFFFF">
<form action = "" method = "post">
<label>UserName:</label><input type = "text" name = "username" class = "box"/><br /><br />
<label>Passwore:</label><input type = "password" name = "password" class = "box" /><br/><br />
<input type = "submit" value = " Submit "/><br />
</form>
</body>
</html>
不能像这样在服务器名称中指定端口号。根据文档中的说明,它适用于外部主机名,但在使用
localhost
时不起作用。您需要使用可选端口参数
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'user');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'db');
define('DB_PORT', 3036);
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE,DB_PORT);
您确定表单上的操作参数必须为空吗?@SalmonKiller blank action意味着使用当前URL作为操作。
var\u dump($\u POST)
show是什么?如果您尚未连接到数据库,即通过mysqli\u connect,则mysqli\u real\u escape\u字符串函数将无法工作。这是您的问题。第二行define
的报价不正确。您有一个卷曲的引号,而不是一个直引号。就是这样,将端口添加到它自己的定义中,代码就可以正常工作了
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'user');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'db');
define('DB_PORT', 3036);
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE,DB_PORT);