IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire et switch


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Par défaut Formulaire et switch
    Salut tout le monde,
    Voila j'ai certainement du faire une erreur dans mon code je ne vois pas où, Je voudrais que en fonction de ce que je choisi dans ma liste déroulante. Le fichier à uploader soit envoyé dans un dossier different le souci. C'est que ici il ne prend en compte que le default.. Merci d'avance voici le formulaire suivi du code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		<select name="choice" >
    		<option value="Alcohol">Alcohol</option>
    		<option value="Others">Others</option>
    		</select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    	<?
    	$choice = isset($_POST['choice']) ? $_POST['choice'] : '';
     	switch($choice) {
     
    	case 'Alcohol':
    	$content_dir='./upload/Alcoholdocs/.';
    	break;
     
    	case 'Others':
    	$content_dir='./upload/Buyllingdocs/.';
    	break;
     
    	default:
    	$content_dir='./upload/defaultdocsfile/.';
     
    }
     
     
    	if( isset($_POST['upload']) ){
     
        $tmp_file = $_FILES['fichier']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file) )
        {
            exit("can't find the file<br><a href='cookie.php' class='type1'>go back to the upload page</a></font>");
        }
     
     
     
        $name_file = $_FILES['fichier']['name'];
     
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
        {
     
            exit("Can't copy the file in $content_dir");
     
        }
     
        echo "File uploaded</font><br>";
       echo "<a href='cookie.php' class='type1'>go back to the uploading page</a>";
     
     
    }?>

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut


    Tu devrais un var_dump de $choice juste avant le switch car je doute qu'il contienne ce que tu souhaites.

    PS :
    - Evite les short tags ( <? )
    - Evite la syntaxe alternative du if else, préfère le simple et largement plus lisible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $choice ='';
    if (isset($_POST['choice']) $choice = $_POST['choice'];

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Par défaut
    effectivement il me renvoi string(0)
    donc l'erreur survient avant.
    En fait je penses savoir d'où elle vient:
    En fait le formulaire et le code php ne sont pas dans la même page.
    Donc il faut que je rajoute action="upload.php" upload.php étant la page dans laquelle est mon code php. Mais bon en faisant ca, ca ne marche toujours pas.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Montre nous le code de la page qui contient le formulaire pour voir!

  5. #5
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Attends je crois qu'il y a un truc que tu ne comprends pas en fait. Tu dois avoir un truc de ce style : formulaire.html
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="post" action="upload.php">
      <select name="choice" >
        <option value="Alcohol">Alcohol</option>
        <option value="Others">Others</option>
      </select>
    </form>
    upload.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    	$choice ='';
    if (isset($_POST['choice']) $choice = $_POST['choice'];
     	switch($choice) {
     
    	case 'Alcohol':
    	$content_dir='./upload/Alcoholdocs/.';
    	break;
     
    	case 'Others':
    	$content_dir='./upload/Buyllingdocs/.';
    	break;
     
    	default:
    	$content_dir='./upload/defaultdocsfile/.';
     
    }
     
     
    	if( isset($_POST['upload']) ){
     
        $tmp_file = $_FILES['fichier']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file) )
        {
            exit("can't find the file<br><a href='cookie.php' class='type1'>go back to the upload page</a></font>");
        }
     
     
     
        $name_file = $_FILES['fichier']['name'];
     
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
        {
     
            exit("Can't copy the file in $content_dir");
     
        }
     
        echo "File uploaded</font><br>";
       echo "<a href='cookie.php' class='type1'>go back to the uploading page</a>";
     
    }?>
    et tes 2 fichiers formulaire.html et upload.php doivent se situer dans le même dossier, sinon il y aura un problème avec le code ci-dessus.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Par défaut
    Non Non, Ils sont bien dans le même dossier.

  7. #7
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    En ayant la configuration que je t'ai marqué ci-dessus tu n'as rien dans $_POST['choice'] lorsque tu sélectionnes une valeur dans ta liste déroulante du formulaire.html ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 01/06/2012, 10h32
  2. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  3. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo