2015-06-22 5 views
0

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

<?php 
session_start(); 

include("connect_db.php"); 

$tbl_name="users"; 
$email=$_POST['email']; 
$pass=$_POST['pass']; 

$sql="SELECT * FROM $tbl_name WHERE email='$email' and pass='$pass'"; 
$result=mysql_query($sql); 
$count=mysql_num_rows($result); 

if($count==1){ 

    while($row = mysql_fetch_array($result)) { 
     $username=$row['username']; 
     $_SESSION['username']=$username; 
     header('location: index.php?login=yes'); 
    } 
    else { 
     header('location: index.php?login=no'); 
    } 
} 

?> 
+0

Вы можете также добавить содержимое вашего 'connect_db.php' файла? В соответствии с руководством, «header() должен быть вызван до отправки любого фактического вывода либо с помощью обычных тегов HTML, либо пустых строк в файле, либо из PHP. Очень распространенная ошибка для чтения кода с включением или требует , функции или другую функцию доступа к файлам, а также пробелы или пустые строки, которые выводятся перед вызовом header(). " Источник: http://php.net/manual/en/function.header.php ... Если возможно, приложите содержимое своего 'php.ini'. –

+0

ive реализовано, когда я добавляю содержимое файла connect_db.php непосредственно в этот код, но он работает, но когда я использую функцию include, я не могу этого сделать. любые идеи –

+0

' ' –

ответ

0

ив понял, когда я добавить содержимое файла connect_db.php непосредственно этот код он работает, но когда я использую «включают» Funtion это не делает. любые идеи

Если это так, попробуйте буферизацию вывода.

Теперь ваш код должен выглядеть следующим образом:

<?php 
// Output buffering 
ob_start(); 
include("connect_db.php"); 
$buffer = ob_get_clean(); 
echo $buffer; 
// End OB 

session_start(); 

$tbl_name="users"; 
$email=$_POST['email']; 
$pass=$_POST['pass']; 

$sql="SELECT * FROM $tbl_name WHERE email='$email' and pass='$pass'"; 
$result=mysql_query($sql); 
$count=mysql_num_rows($result); 

if($count==1){ 

    while($row = mysql_fetch_array($result)) { 
     $username=$row['username']; 
     $_SESSION['username']=$username; 
     header('location: index.php?login=yes'); 
    } 
    else { 
     header('location: index.php?login=no'); 
    } 
} 

?> 
+0

спасибо, что еще не повезло и не отображает echo $ buffer; im действительно запутался –

+0

ive попробовал использовать window.location.href = '/index.php?login=yes', который работает, но нет, если счет не равен 1 –