0

フォームに記入して送信ボタンを押したら、次のページにリダイレクトします。このコードはWindowsサーバーではうまく機能しますが、Linuxサーバーの次のページにリダイレクトできません

<?php
include 'scripts/functions/init.php';

Restrict();

?>
<?php


$userid = $_SESSION['userid'];
if (empty($_POST)=== false)
    {
        $R_fields = array('OFO_Code','OFO_Title','Curr_Code','Curr_Title');
        foreach($_POST as $key=>$value)
        {
            if (empty($value) && in_array($key,$R_fields)=== true)
                {
                    $errors[] = 'fields marked with (*) are required';
                    break 1;
                }
        }

        $_SESSION['Combo'] = $_SESSION['OFO_Code'].$_SESSION['Curr_Code'];      
        if(empty($errors)=== true)
            {
                if(Curr_Code_exists($_SESSION['Combo']))
                    {
                        $errors[] = 'Sorry, the Curriculum Code already exist, please use the edit function';
                    }
                if(strlen('Curr_Code')<6)
                    {
                        $errors[] ='Curriculum Code must be at least 6 Characters';
                    }

            }
    }

?>

上記のコードは、htmlの直前に表示され、その後にフォームが続きます。次に、送信ボタンの直後に次のように続き、それも内にあります

<?php
                    $_SESSION['OFO_Code'] = $_POST['OFO_Code'];
                    $_SESSION['Curr_Code'] = $_POST['Curr_Code'];


                    if(empty($_POST) === false && empty($errors)=== true)
                        {
                            //Capture data from the fields to an array
                            $Capture_Occupation_info = array(
                            'OFO_Code' => $_SESSION['OFO_Code'],
                            'OFO_Title'=>$_POST['OFO_Title'],
                            'Curr_Code'=>$_SESSION['Combo'],
                            'Curr_Title'=>$_POST['Curr_Title'],
                            'userid'=>$userid);

                            //Submit the data into the database
                            capture_occupation_info($Capture_Occupation_info);
                            header('Location:Capture_Menu.php');
                            exit();
                        }
                    else
                        {
                            //Display errors

                            echo output($errors);
                        }
              ?>
4

1 に答える 1

0

これは暗闇の中での完全なショットですが、正しいかもしれません。Windowsは大文字と小文字を区別しませんが、NIXは敏感です。

Capture_Menu.php

それはまさにあなたのUNIXボックスでそれがどのように活用されているのですか?

また、ヘッダーリダイレクトを実行する前に、ブラウザに表示したりエコーしたりすることはできません。エコーをチェックするか、?>のようなものの後に空白を失うことさえあります

コードが意図的に実行しなかったものを出力に出力したため、以前はリダイレクトが機能しませんでした。

あなたはこれを試すことができます...

error_reporting(E_ALL); 
ini_set('display_errors', 'On');
于 2012-12-14T15:44:07.560 に答える