在php中注册无法正常工作,并使用空白屏幕重定向到同一页面

时间:2015-08-28 05:27:56

标签: php

我正在开发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"); 
    }
}

1 个答案:

答案 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服务器的错误日志(如果您的主机提供一个,而不是全部提供)。