【发布时间】:2011-06-01 19:05:55
【问题描述】:
我正在尝试编写此脚本来说明电子邮件是否有效插入数据库并重定向,否则重定向错误消息只有我的重定向不起作用,我对 php 不是非常好并且仍在阅读主题所以我很感激任何建议,提前谢谢!
<?php
$userid = $usersClass->userID();
$user_email=$_POST['email_upd'];
if(!filter_var($user_email, FILTER_VALIDATE_EMAIL))
{
header('Location: http://www.mysite.co.uk/mytwitter.php?msg=invalid');
}
else
{
mysql_query(" UPDATE produgg_users SET email='$user_email' where produgg_users.id = ".$usersClass->userID()) or die(mysql_error());
header('Location: http://www.mysite.co.uk/mytwitter.php?msg=success');
}
?>
抱歉没有描述哪里出了问题,发生的事情是我的页面没有重定向回页眉(位置)中的页面
我现在启用了错误报告,但我仍然只看到一个白页,这是我的整个页面代码。
<?php
error_reporting(E_ALL);
require 'config.inc.php';
?>
<?php
$userid = $usersClass->userID();
$user_email=$_POST['email_upd'];
if(!filter_var($user_email, FILTER_VALIDATE_EMAIL))
{
header('Location: http://www..co.uk/mytwitter.php?msg=invalid');
}
else
{
mysql_query(" UPDATE produgg_users SET email='$user_email' where produgg_users.id = ".$usersClass->userID()) or die(mysql_error());
header('Location: http://www..co.uk/mytwitter.php?msg=success');
}
?>
【问题讨论】:
-
不是您问题的答案,但您需要在标头重定向后始终使用
die(),并且您的代码容易受到SQL injection的攻击 -
不过,您应该描述到底出了什么问题。
-
嗨 Pekka,我知道它目前容易受到注入攻击,我正在阅读我计划稍后整合的那一刻,或者这不是处理事情的最佳方式?
-
请详细说明“我的重定向不起作用”。发生了什么?有任何错误信息吗?如果没有,将
error_reporting设置为E_ALL并将display_errors设置为1。 -
@Liam:改造 SQL 注入预防很难 - 你可能会忘记一些东西,你将不得不重新测试一切。尽快考虑从直接查询 (mysql_*) 转向 PDO 和参数化查询。
标签: php