2017-08-07 62 views
0

我實現的接口,其中用戶應:獲取變量值在如果(isset)功能外

  1. uploadframe.php。選擇供應商;
  2. upload.php。上傳文件,選擇&,通過AJAX Request發送到服務器。

的問題是,我得到供應商的名稱(很重要的東西),雖然POST方法,並AJAX Request後,返回到upload.php的頁面,在這裏不顯示供應商,原因是其不isset()這個時候。我想保留相同的提供者名稱,直到我回到Uploadframe.php頁面並在那裏更改它。

Uploadframe.php:

<form action="upload.php" enctype="multipart/form-data" method="post"> 
    <select name="provider"> 
     <option value ="activkcell">Activ/Kcell</option> 
     <option value ="beeline">Beeline</option> 
     <option value ="tele2altel">Tele2/Altel</option> 
    </select> 
    <p><input type="file" name="rawexcel[]" id ="rawexcel" multiple> </p> 
    <p> 
     <input type ="submit" value="Загрузить" name ="submit" id="uplbutton"> 
    </p> 
</form> 

upload.php的:

if (isset($_POST['provider'])) { 

    //select action to perform on case of different providers 
    if ($_POST['provider'] == 'activkcell') { 
     global $provider; 
     $provider = "Activ /Kcell"; 
    } 

    if ($_POST['provider'] == 'beeline') { 
     global $provider; 
     $provider = "Beeline"; 
    } 

    if ($_POST['provider'] == 'tele2altel') { 
     global $provider; 
     $provider = "Tele2"; 
    } 
} 

<p>You have selected provider <?php global $provider; echo $provider ?></p> 
// File selection 
// Jjax script 

我試圖讓我的$provider可變全球 - 沒有工作,使用define( '供應商', $ provider) - 在ajax request之後顯示'Provider'。

將不勝感激任何幫助。 (我不想將它保存在其他地方,比如創建一個文本文件,並在更新它uploadframe.php。我相信這是一個解決方案比那些更好。)

+1

嘗試'$ _SESSION'這是畢竟是它的。請參閱幫助你的文檔http://php.net/manual/en/intro.session.php。 – ArtisticPhoenix

+0

@ArtisticPhoenix不幸的是,那不是我想要的。一個用戶可以/應該上傳不同供應商的文件 – upicik

+0

'$ _SESSIONS'就是你要找的。 – Anonymous

回答

1

如果我理解正確的話,你的Uploadframe.php的提交providerupload.php和此upload.php的值在用戶上載文件後進行ajax調用,並且您現在需要處理ajax請求的腳本中的值provider

爲此,請在您所做的ajax請求中發送值provider(通過$ _POST從Uploadframe.php接收)。這樣,在處理AJAX請求時,您仍然可以在upload.php中獲得provider的值。