- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 <?php echo $_SERVER['PHP_SELF']; ?>
时遇到了问题.出于某种原因,我的 HTML 表单中的这一行从 URL 中删除了我的 $_GET 变量(我手动放置的变量)。
要了解我的问题,请查看我的 register.php 代码:
<?php
session_start();
// IF USER NOT REMEMBERED(DID NOT CLICK REMEBER ME BUTTON) OR NO SESSION IS FOUND THEN THROW HIM OUT TO LOGIN
//SECURITY SO THAT USERS CANT ACCESS WEB URL DIRECTLY
$host="localhost"; // Host name
$username="user"; // Mysql username
$password="password"; // Mysql password
$db_name="database"; // Database name
$tbl_name="temp_table"; // Table name
// Connect to server and select databse.
$link_temp = mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db($db_name, $link_temp);
$results=mysql_query("SELECT temporary_password, temporary_username FROM $tbl_name WHERE temporary_username = '".$_GET['temp_username']."'");
$row = mysql_fetch_array($results);
if($_GET['temp_password'] != $row['temporary_password'] || $_GET['temp_username'] != $row['temporary_username']){
mysql_close();
header("Location: index.php?invalid_user=1");
}
elseif (empty($_GET['temp_password']) || empty($_GET['temp_username']) || empty($_GET)) {
mysql_close();
header("Location: index.php?invalid_user=1");
}
if(isset($_POST['submit']))
{
//retrieve our data from POST
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
if($pass1 != $pass2){
echo '<div class="alert">Passwords do not match!</div>';
die();
}
$encrypted_mypassword = md5($pass1);
$dbhost = "localhost";
$dbname = "dbname";
$dbuser = "user";
$dbpass = "password"; //not really
$link_users = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $link_users);
//sanitize values before entering into database
$firstname = mysql_real_escape_string($firstname);
$lastname = mysql_real_escape_string($lastname);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$firstname = ucfirst(strtolower($firstname));
$lastname = ucfirst(strtolower($lastname));
$query = "INSERT INTO users ( firstname, lastname, username, password)
VALUES ('$firstname' , '$lastname' , '$username' , '$encrypted_mypassword');";
mysql_query($query);
mysql_close();
echo '<div class="info">User Successfully Created!</div>';
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Secure Customer Login</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/structure_register.css">
<link href='https://fonts.googleapis.com/css?family=Nothing+You+Could+Do' rel='stylesheet' type='text/css'>
<script>document.createElement('footer');</script>
</head>
<body>
<div class="img">
<img src="images/logo.png" />
</div>
<form class="box login" style="max-width:334px;" name="register" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset class="boxBody">
<label>First Name</label>
<input type="text" name="firstname" maxlength="50" tabindex="1" placeholder="First Name" required />
<label>Last Name</label>
<input type="text" name="lastname" maxlength="50" tabindex="2" placeholder="Last Name" required />
<label>Username</label>
<input type="email" name="username" maxlength="50" tabindex="3" placeholder="Email" required/>
<label>Password</label>
<input type="password" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{6,}" onchange="this.setCustomValidity(this.validity.patternMismatch ? 'Password must contain at least 6 characters, including UPPER and lowercase and numbers' : ''); if(this.checkValidity()) form.pass2.pattern = this.value;" placeholder="Password" name="pass1" tabindex="4" />
<label>Repeat Password</label>
<input type="password" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{6,}" onchange="this.setCustomValidity(this.validity.patternMismatch ? 'Please enter the same Password as above' : '');" placeholder="Repeat Password" name="pass2" tabindex="5" />
</fieldset>
<footer>
<center><input type="submit" name="submit" value="Register" class="btnLogin" /></center>
</footer>
</form>
<footer id="main">
© 2014 Rye High Group. All rights reserved.</a>
</footer>
</body>
</html>
基本上,我网站上的 register.php 页面从包含两个获取变量的链接获取输入:temp_username 和 temp_password。因此,用于访问该站点的链接如下所示:my_domin.ca/register.php?temp_username=SomeUser1&temp_password=Somepassword1
get 变量与数据库中的条目进行比较,如果它们返回 true,则用户被授予访问 register.php 的权限,否则他将被转发到 index.php。访问 register.php 没有问题,但是一旦提交表单,$_GET 变量就会从 URL 中删除,从而将用户转发到 index.php
我的问题是:如何修改 <?php echo $_SERVER['PHP_SELF']; ?>
停止删除 GET 变量
附言我将在我的网站上获得基本功能后立即过渡到 mysqli(因为我最了解 mysql_* 并且希望减少过渡期间的错误)
最佳答案
$_SERVER['REQUEST_URI']
:为访问此页面而提供的 URI。
你的表格应该是这样的:
<form action="<?php echo $_SERVER['REQUEST_URI'] ?>">
your inputs
</form>
关于php - 执行 $_SERVER ['PHP_SELF' ] 而不删除我的 $_GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544669/
我这里有这个代码。它给了我一个语法错误,意外的T_STRING,期待','或';'的错误。我希望能够在同一页面上显示成功消息,而不是打开另一个页面。请帮忙。 } else { $query =
$name "; } ?> "> 我只希望部分在提交后运行,并且在单击提交表单按钮后不应看到显示表单 最佳答案 在 else 部分编写您的 html 表单代码。 $name ";
我正在尝试实现一个页面,用户可以在该页面中输入评论并将其显示在同一页面中。我遇到的问题是,每次您转到该页面时,页面中都没有评论(实际上有评论)。这是我的场景: 我转到页面,但没有评论,我输入评论“你好
我试图使用 php.ini 的 include 函数使我的代码更加清晰。我在三个页面中使用相同的代码部分,但其中一个页面与我执行这部分代码时调用的页面相同。那么我可以代替 action="" 使用此页
我已经创建了一个 HTML 页面来将数据输入到 MySQL 数据库中。我在同一个 HTML 页面中嵌入了 PHP 代码。这是代码, Enter a new location " m
我发现一篇文章声称 $_SERVER['PHP_SELF'] 容易受到 XSS 攻击。 我不确定我是否理解正确,但我几乎可以肯定它是错误的。 这怎么会容易受到 XSS 攻击!? "> 最佳答案
$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关
我有一个用更新后的数据重新加载页面的表单: "> ... 当页面更新时,我想显示一条消息“数据已更新”。 Referer 我相信有这样的事情,但不记得了。 顺便说一句,我也在使用:
我有一个用更新后的数据重新加载页面的表单: "> ... 当页面更新时,我想显示一条消息“数据已更新”。 Referer 我相信有这样的事情,但不记得了。 顺便说一句,我也在使用:
osCommerce 在其 2.3.4 版的更新日志中指出他们处理了一个有关变量 $PHP_SELF 的问题,该变量出现在 11 个文件中。进行该修复对我造成了问题。我正在我的开发计算机上建立一个新网
我的一个 php 页面中有一个链接,其中显示了登录用户的 friend ,并且每个用户的 friend 都有一个如下所示的链接,如下所示: echo "$friend_row[name]"; 正如您所
我使用这个语句来检索我的记录: $sql=mysql_query("SELECT * FROM myTable WHERE category = '$catvalue'"); 变量 $catvalue
我使用 $_SERVER['PHP_SELF'] 来运行函数,因为它在我的插件页面中包含和调用的方式我无法直接调用functions.php文件,所以我想要做什么现在正在处理注册脚本,问题是我的返回无
我试图找出如何制作一个进度条来可视化正在提交的表单的进度。现在我发现很多文章都通过 AJAX/jQuery 将数据提交到一个单独的 php 文件,并在其中解析数据。 但是,当表单的操作属性为 $_SE
我正在使用通知。提交表单后,当我刷新页面时,它会一次又一次地提交表单。 请帮助我避免在刷新页面上重新提交表单。 这是 PHP 代码: if (isset($_POST["patientName"]))
我正在使用 php_self 提交表单。数据发布后,我想将计算值传递到同一页面上的另一个表单字段(原始表单)。 $title_insurance 字段保持空白。有什么想法吗?谢谢! documen
当我在表单中使用 $_SERVER['PHP_SELF'] 将页面重定向到自身时,例如: "> ...some html 当用户提交表单时,URI 不显示参数: http://example
我遇到了一些麻烦。这似乎没什么大不了的,但我创建了一个页面,用户可以编辑 MySQL 数据库。一旦他们点击提交,它应该在 if 语句中处理 php 并更新 echo 1 记录。问题是它没有等到回应声明
我正在使用下面的代码来控制分页。它使用 $_SERVER['PHP_SELF'] 所以我想知道这种方式是否安全,或者我必须做什么才能使 $_SERVER['PHP_SELF'] 安全? 10) {
我在这里用 php 开发一个后端。 我遇到这样的错误: Undefined variable : PHP_SELF 在我的 htdocs 目录中。 我正在用 php 5.4.4 开发,如果你想在这里查
我是一名优秀的程序员,十分优秀!