我正在开发php中的登录系统。当我在注册表单中输入详细信息并点击注册按钮时,我有一个名为signup1.php
的注册文件
它以空白屏幕显示相同的文件signup1.php
。
我想在注册用户时重定向myprofile.php
。
我把这段代码。
$user->redirect('myprofile.php');
来自评论的代码:
<?php
require_once 'dbconfig.php';
if($user->is_loggedin()!="") {
$user->redirect('myprofile.php');
}
if(isset($_POST['btn-signup'])) {
else{
try {
$stmt = $DB_con->prepare("SELECT name,email FROM customer WHERE email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['email']==$umail) {
$error[] = "sorry email id already taken !";
} else {
if($user->register($fname,$lname,$uname,$umail,$uphone,$upass)) {
$user->redirect('myprofile.php');
}
}
} catch(PDOException $e) {
echo $e->getMessage();
}
}
}
?>
重定向功能:
class User {
public function redirect($url) {
header("Location: $url");
}
}
答案 0 :(得分:1)
根据您提供的少量信息,我可以看到一个问题。这样:
if(isset($_POST['btn-signup'])) {
else{
}
}
不会起作用,它会抛出这个错误:
PHP Parse错误:语法错误,意外的'else'(T_ELSE)
if子句的工作原理如下:
if( $condition ) {
// do something if $condition is TRUE
}
else{
// do something else if $condition is FALSE
}
如果我正确理解了您的代码,您应该删除else {
行以及相应的结束括号。
常见注意事项:如果您在PHP中遇到白屏死机而没有任何错误消息,则通常会禁用错误报告(在生产环境中这是正常的)。您可以使用以下行激活它:
ini_set('display_errors',true);
error_reporting(E_ALL);
或者,您可以查看Web服务器的错误日志(如果您的主机提供一个,而不是全部提供)。