2014-02-21 5 views
0

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

<?php 
session_start(); 
error_reporting(E_ALL^E_NOTICE); 
echo "<span class='notification n-information'>Welcome to '".strtoupper($_SESSION['user'])."' Admin Panel</span>"; 
    if($_SESSION['uid']==true){ 
     if($_SESSION['roles']==2 or $_SESSION['roles']==1){ 
     }elseif($_SESSION['roles']==3){ 
     header('Location:../a/index.php?action=NOT Allowed'); 
     }elseif($_SESSION['roles']==4){ 
     header('Location:../b/index.php?action=NOT Allowed'); 
     }elseif($_SESSION['roles']==5){ 
     header('Location:../c/index.php?action=NOT Allowed'); 
     } 
     }else{ 
     header('Location:../index.php'); 
    } 
@require('quick.php'); 
@require('../conn/include.php'); 

$title=($_POST['title']); 
$project=($_POST['project']); 
$descrip=($_POST['description']); 
if(isset($_REQUEST['add'])) { 
    $add="Insert into projects(project_name,title,details)VALUE('$project','$title','$descrip')"; 
    //echo "$add"; 
    $addquery=mysql_query($add); 
    header('location:Projects.php'); 
    exit(); 
} 

?> 

Моя форма действие = «», так как я перенаправляя его на той же странице

+0

сообщение форма тоже .. –

ответ

0

попробуйте переименовать Projects.php в projects.php, , потому что если вы используете linux server чем эти серверы находятся в именах файлов case sensitive .. а также попробовать удалить @ из required ..

+0

спасибо, но имя файла правильно – user3314254

+0

ооо нормально .. и почему вы взяли 'круглый brackets' для' $ _POST variables' попробовать удалив эти «круглые скобки» ... и какой метод вы использовали для отправки данных 'add'. Можете ли вы' $ _GET' или '$ _POST' ... попытаться заменить' $ _REQUEST' тем же –

+0

и попробуйте повторить что-то в вашей последней проверке 'if condition', если оно будет в вашем' if condition' или нет ... –

0

Location заголовка должен быть эхо перед любым другим контентом (е. г. ваш span тег). В противном случае ваш браузер проигнорирует заголовок и отобразит содержимое, которое вы уже отозвали +, независимо от того, что ваш скрипт перекликается до его завершения.

Дополнительно: когда выполняется условие для отправки запроса перенаправления, продолжите выполнение и завершите остаток выполнения скрипта оператором или die().

Это должно работать:

if($_SESSION['uid']==true){ 
    if ($_SESSION['roles'] != 1 and $_SESSION['roles'] != 2) 
    { 
     switch($_SESSION['roles']) 
     { 
      case 3: 
      $url = "../a/index.php?action=NOT Allowed"; 
      break; 
      case 4: 
      $url = "../b/index.php?action=NOT Allowed"; 
      break; 
      case 5: 
      $url = "../c/index.php?action=NOT Allowed"; 
      break; 
      default: 
      $url = "../index.php"; 
     } 
     header('Location:'.$url); 
     die(); 
    } 
} 

echo "<span class='notification n-information'>Welcome to '".strtoupper($_SESSION['user'])."' Admin Panel</span>"; 
+0

Я ценю вашу напряженную работу. – user3314254

+0

Спасибо. Правильно ли работает ваш скрипт с этой версией? – brazenest

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