2017-08-07 4 views
0

Je œuvre une interface où l'utilisateur doit:Get valeur de la variable si la fonction (isset) en dehors

  1. Dans uploadframe.php. Choisissez le fournisseur
  2. Dans upload.php. Choisissez & télécharger des fichiers, qui sont envoyés au serveur avec AJAX Request.

Le problème est que je reçois le nom du fournisseur (chose très importante) mais POST méthode, et après AJAX Request, il retourne à upload.php page où le fournisseur n'apparaît pas, car du coup il n'est pas isset() cette fois-ci . Je veux garder le même nom de fournisseur jusqu'à ce que je reviens à la page Uploadframe.php et changez-le là.

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 

J'ai essayé de faire mon $provider globale variable - n'a pas fonctionné, en utilisant define ('fournisseur', $ provider) - affiche 'Provider' après ajax request.

Apprécierez toute aide. (Je ne veux pas sauver un autre endroit, comme la création d'un fichier texte et la mise à jour dans uploadframe.php. Je crois qu'il ya une meilleure solution que ceux-ci.)

+1

Essayez '$ _SESSION', c'est pour ça que c'est fait après tout. Veuillez consulter la documentation http://php.net/manual/fr/intro.session.php qui vous aidera. – ArtisticPhoenix

+0

@ArtisticPhoenix malheureusement, ce n'est pas ce que je veux. Un utilisateur peut/devrait télécharger des fichiers pour différents fournisseurs – upicik

+0

'$ _SESSIONS' est ce que vous recherchez. – Anonymous

Répondre

1

Si je comprends bien, votre Uploadframe.php soumet la valeur de provider à upload.php et sur ce upload.php vous faites appel ajax après que l'utilisateur télécharge un fichier et vous avez maintenant besoin de la valeur de provider dans le script qui gère la requête ajax. Pour ce faire, envoyez la valeur provider (reçue via $ _POST de Uploadframe.php) dans la requête ajax que vous avez effectuée. De cette façon, vous pouvez toujours obtenir la valeur de provider dans upload.php lors de la gestion de la requête AJAX.