2017-08-07 66 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的值。