2015-08-21 2 views
-1

Привет всем, пожалуйста, помогите, я разработал свой первый веб-сайт www.ncrwallpaper.com под его тестированием. Моя проблема в том, что всякий раз, когда я вхожу в систему со страницы входа. первый его не перенаправлять на целевую страницу второй его уже вошли в систему, но в текущей странице его не показывает ..Страница входа не перенаправляется в целевое местоположение в PHP?

вот мой код

<?php 
session_start(); 
include('dbfunctions.php'); 
include_once('top.php'); 

if(isset($_POST['login'])) { 
    $a=$mysqli->real_escape_string($_POST['email']); 
    $b=$mysqli->real_escape_string($_POST['pass']); 
    $c=$mysqli->query("select * from users where email='$a' and pass='$b'"); 
    $count=$c->num_rows; 

    if($count==1){ 
     $f=$c->fetch_object(); 

     //value assign in session_id 
     $_SESSION["id"]=$f->id; 
     $_SESSION["email"]=$f->email; 
     $_SESSION["name"]=$f->name; 
     $_SESSION["contact"]=$f->contact; 

     if(isset($_SESSION['url'])) $url = $_SESSION['url']; // holds url for last page visited. 
      else $url = "index.php"; 

     header("Location: $url"); 
    } else echo "Please enter valid email id and password"; 
} 

?> 

этот код уже работает на локальном хосте

<form action="#" method="post" enctype="multipart/form-data"> 
    <input type="email" name="email" placeholder="E-Mail Address" id="input-email" class="form-control" required autofocus/> 
    <input type="password" name="pass" placeholder="Password" id="input-password" class="form-control" required/> 
    <input type="submit" value="Login" class="btn btn-primary" name="login" /> 
</form>  
+0

Что находится в top.php? – jmattheis

+0

Привет, Rocky его css в top.php –

+0

перенаправление с помощью 'header()' wont work, если заголовок уже отправлен, убедитесь, что вы не эхом ничего не вызываете перед вызовом 'header()' даже пробелы между '?>

ответ

0

попробуйте это вместо вашего заголовка

<script type="text/javascript"> 
window.location.assign('your desired location'); 
</script> 

Примечания: закрыть PHP, прежде чем тег сценария и открытой PHP после закрытия тега скрипта

0
<?php 
session_start(); 
include('dbfunctions.php'); 
?> 
<?php include_once('top.php'); ?> 
<?php 
if(isset($_POST['login'])) 
{ 
$a=$mysqli->real_escape_string($_POST['email']); 
$b=$mysqli->real_escape_string($_POST['pass']); 
$c=$mysqli->query("select * from users where email='$a' and pass='$b'"); 
$count=$c->num_rows; 
if($count==1){ 
$f=$c->fetch_object(); 
//value assign in session_id 
$_SESSION["id"]=$f->id; 
$_SESSION["email"]=$f->email; 
$_SESSION["name"]=$f->name; 
$_SESSION["contact"]=$f->contact; 
if(isset($_SESSION['url'])) 
$url = $_SESSION['url']; // holds url for last page visited. 
else 
$url = "index.php"; 

echo " <script type=\"text/javascript\"> 
window.location.assign('blaahh.php'); 
</script> "; 
} 
else{ 
echo "Please enter valid email id and password"; 
} 

} 

?> 
+0

n1 синтаксические ошибки. – jmattheis

+0

вы не можете ответить

1

Вы можете использовать ob_start() & ob_end_clean()

<?php 
ob_start(); 
session_start(); 
include('dbfunctions.php'); 
include_once('top.php'); 

if(isset($_POST['login'])) { 
    $a=$mysqli->real_escape_string($_POST['email']); 
    $b=$mysqli->real_escape_string($_POST['pass']); 
    $c=$mysqli->query("select * from users where email='$a' and pass='$b'"); 
    $count=$c->num_rows; 

    if($count==1){ 
     $f=$c->fetch_object(); 

     //value assign in session_id 
     $_SESSION["id"]=$f->id; 
     $_SESSION["email"]=$f->email; 
     $_SESSION["name"]=$f->name; 
     $_SESSION["contact"]=$f->contact; 

     if(isset($_SESSION['url'])) $url = $_SESSION['url']; // holds url for last page visited. 
      else $url = "index.php"; 

     $output = ob_get_contents(); 
     ob_end_clean(); 
     header("Location: $url"); 
    } else echo "Please enter valid email id and password"; 
} 

?> 
0

PHP:

header("Location: yourpage.php"); 
exit; 

Вы должны использовать выход или умереть после заголовка для того, чтобы остановить выполнение кода. Кроме того, код должен быть выполнен перед любым выходом.

Смежные вопросы