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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Connexion à l'adresse d'une liste déroulante


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut Connexion à l'adresse d'une liste déroulante
    Bonjour,

    dans une page par exemple Index.php je récupère un fichier .txt dans lequel sont consignée dans l'ordre chronologique les fichiers téléchargés ainsi que le moment où ils l'ont été.

    la deuxième phase consiste à traiter les données du fichier de telle façon que j'obtienne un tableau regroupant au maximum les 10 derniers téléchargements. Dans ce tableau, je traite les données de façon à le transformer pour que chaque ligne contienne :
    1° le lien cible du téléchargement,
    2° la ligne du fichier .txt que l'on affichera dans une liste déroulante.

    la troisième phase consiste à afficher la liste déroulante dans la partie html et...
    soit si l'on clique sur un des items, cela nous envoie vers la cible en ouvrant une nouvelle page ;
    soit en cliquant sur un mot servant de lien à nous ouvrir une messagebox dans le quel est indiqué le numéro de l'item suivi de l'adresse du lien ciblé puis en fermant la messagebox, envoyer là aussi vers la cible en ouvrant une nouvelle page.

    Et c'est dans cette dernière partie que j'achoppe.

    Dans le 1er cas j'ouvre bien ma page mais elle remplace la page index.php, je n'arrive pas à ouvrir une nouvelle page.
    Dans le 2ème cas j'ouvre bien la message box avec les bonnes info mais en la fermant je récupère le message d'erreur suivant :
    Not Found
    The requested URL /Version 33 PHP - attente/document.forms.titres.Liste.options[((document.forms.titres.Liste.options.selectedIndex))].value was not found on this server.

    Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31 Server at localhost Port 80
    Voici comment cela se présente ce code 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
     
    <?php
    // fin du traitement des infos ne posant aucun soucis
    // Construction de la liste déroulante à afficher dans une boucle    
    $array[$pointeur] = array( 
    'application'=>$lines[$i], // cible qui est affichée
    'code'=>$code_general,     // adresse de la cible
    ); 
     
    }
     
     
    }else{
        // Sinon si le fichier n'existe pas, on quitte
        exit;}
     
     
    ?>
    Mainenant voici comment se présente la partie html qui me pose soucis..
    premier cas : je n'arrive pas à placer l'instruction target="_blank"
    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
    ON PASSE EN HTML<br><br>
    <!-- 
    
    -->
            <form name="titres">
    
                <select name="Liste" onchange="document.location = this.options[this.selectedIndex].value; " >            
    <?php
        $selected = '';
                
        foreach ($array as $key => $value){
    
                echo "\t",'<option value="', $array[$key]['code'] ,'"', $selected ,'>', $array[$key]['application'] ,'</option>',"\n"; 
        }        
                echo'</select>',"\n";                           
    ?>
            </form>
    <br><br>
    deuxième cas faisant apparaître son message d'erreur...

    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
    ON PASSE EN HTML<br><br>
    <!-- 
     
    -->
           <form name="titres">
     
                <select name="Liste">			
     
    <?php
    	$selected = '';
     
    	foreach ($array as $key => $value){
     
    			echo "\t",'<option value="', $array[$key]['code'] ,'"', $selected ,'>', $array[$key]['application'] ,'</option>',"\n"; 
    	}		
    			echo'</select>',"\n";				
     
    ?>
    		<a  href='document.forms.titres.Liste.options[((document.forms.titres.Liste.options.selectedIndex))].value'
    			target="_blank"  onClick=" alert('Choix '+(( document.forms.titres.Liste.options.selectedIndex) + 1) + 
    			' avec ' + document.forms.titres.Liste.options[((document.forms.titres.Liste.options.selectedIndex))].value) "
    			> Cible</a> 
     
            </form>
     
     
    <br><br>
    Si quelqu'un a une petite, voire une grande idée, merci par avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    15 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 15 595
    Points : 31 857
    Points
    31 857
    Par défaut
    Bonjour,

    1- si tu veux des réponses concrètes, il faut poser UNE SEULE QUESTION à la fois.
    Quitte à ouvrir plusieurs discussions, dans les forums concernés *.


    2- Je ne répondrais donc qu'à la 1ère :

    premier cas : je n'arrive pas à placer l'instruction target="_blank"
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
                <select name="Liste" onchange="document.location = this.options[this.selectedIndex].value; " >
    Ici, on est en JavaScript :



    * Cette 1ère question concerne le JavaScript : elle aurait dû être posée dans le forum JavaScript.



    N.B. A priori, la 2ème question concerne aussi JavaScript... Pas PHP.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    1- si tu veux des réponses concrètes, il faut poser UNE SEULE QUESTION à la fois.
    Quitte à ouvrir plusieurs discussions, dans les forums concernés *.
    Bonjour et merci pour votre réponse.

    En fait comme tout le traitement des tableaux était en php et que mes soucisse situaient lors du passage en html et qu'il y avait deux façon de traiter l'info, je me suis dit qu'il valait mieux tout rassembler et ne pas multiplier les posts inutiles.
    Donc j'ai bien pris note de votre remarque et dès que j'ai un moment je vais tenter d'exploiter votre proposition de solution.
    Si tout se passe bien, je n'omettrai pas de la considérer comme résolue et, je reposerai la question du 2ème cas sur le forum html.

  4. #4
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    15 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 15 595
    Points : 31 857
    Points
    31 857
    Par défaut
    Pour explication :

    1- Tes 2 questions sont indépendantes, et ne concernent pas les même parties du code.

    Par conséquent, chaque question posée dans 2 discussion aurait été moins longues à lire, avec moins de code.
    C'est toujours plus facile à répondre quand la question et le code sont courts.


    2- A propos de PHP.
    • PHP génère le code (HTML,JS) dynamiquement, en amont (coté serveur).
    • Une fois à l'écran, il n'y a plus de PHP !

    Si l'erreur ne survient qu'APRES affichage de la page à l'écran, il y a fort à parier que PHP n'est plus concerné (sauf si Ajax,...).

    DONC : soit erreur HTML, soit erreur JavaScript.
    Et c'est alors le code généré (ou "code source de la page") qu'il faut montré.

    * "Ctrl" + "U" (ou clic droit : "Afficher la source")
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Voici donc le code source de la page une fois la liste générée par mon code 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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <!DOCTYPE HTML> 
    <html>
    <head>
     
     
    </head>
     
    <body>
    </br>
    </br>
     
    <!--   /////////////////////////// HTML ////////////////////////// -->
     
    <br><br>
    ON PASSE EN HTML<br><br>
    <!-- 
     
    -->
     
    		<form name="titres">
     
                <select name="Liste" onchange="document.location = this.options[this.selectedIndex].value; " >			
     
    	<option value="installe_rar.php">Installation Alpha.rar lundi 10 septembre 2018 à 20h 54min 21s
    </option>
    	<option value="MAJ_rar.php">NinaPerf.rar lundi 10 septembre 2018 à 20h 54min 38s
    </option>
    	<option value="MAJ_help_zip.php">aide Nina.zip lundi 10 septembre 2018 à 20h 55min 04s
    </option>
    	<option value="MAJ_help_rar.php">aide Nina.rar lundi 10 septembre 2018 à 20h 55min 09s
    </option>
    	<option value="MAJ_rar.php">NinaPerf.rar lundi 10 septembre 2018 à 20h 55min 59s
    </option>
    	<option value="MAJ_zip.php">NinaPerf.zip lundi 10 septembre 2018 à 20h 56min 20s
    </option>
    	<option value="MAJ_zip.php">NinaPerf.zip mercredi 12 septembre 2018 à 21h 57min 55s
    </option>
    	<option value="installe_zip.php">Installation Alpha.zip dimanche 16 septembre 2018 à 23h 41min 29s
    </option>
    	<option value="installe_rar.php">Installation Alpha.rar mercredi 19 septembre 2018 à 22h 56min 03s
    </option>
    	<option value="MAJ_help_zip.php">aide Nina.zip jeudi 20 septembre 2018 à 09h 01min 51s</option>
    </select>
    		<a  href='document.forms.titres.Liste.options[((document.forms.titres.Liste.options.selectedIndex))].value'
    			target="_blank"  onClick=" alert('Choix '+(( document.forms.titres.Liste.options.selectedIndex) + 1) + 
    			' avec ' + document.forms.titres.Liste.options[((document.forms.titres.Liste.options.selectedIndex))].value) "
    			> Cible</a> 
     
            </form>
     
     
    <br><br>
     
     
     
      </html>

  6. #6
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    voici donc la solution... qu'effectivement j'utilise régulièrement dans mes pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="adresse...."  onclick="window.open(this.href);return false;">
    ici cela prendra la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="window.open(this.value);return false;"
    Donc voici le code que je vais utiliser :
    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
    <!--   /////////////////////////// HTML ////////////////////////// -->
     
    <br><br>
    ON PASSE EN HTML<br><br>
     
    	<form name="titres">
     
                <select name="Liste" onchange="window.open(this.value);return false;">			
     
    <?php
    	$selected = '';
     
    	foreach ($array as $key => $value){
     
    			echo "\t",'<option value="', $array[$key]['code'] ,'"', $selected ,'>', $array[$key]['application'] ,'</option>',"\n"; 
    	}		
    			echo'</select>',"\n";				
     
    ?>
            </form>
     
     
    <br><br>
    Je vais donc reposer la question du deuxième cas.

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

Discussions similaires

  1. Adapter l'adresse mail de reception d'un contact form à un choix fait dans une liste déroulante
    Par Stevie Janowski dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/04/2015, 13h56
  2. Rajouter "Tous" dans une Liste Déroulante
    Par smirold dans le forum IHM
    Réponses: 7
    Dernier message: 25/10/2004, 13h29
  3. Réponses: 2
    Dernier message: 16/10/2004, 14h33
  4. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05
  5. valeur d'une liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 7
    Dernier message: 15/04/2004, 16h11

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