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

JavaScript Discussion :

Javascript et Php


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut Javascript et Php
    Bonjour à toutes et à tous,

    J'ai un petit soucis dans mon code : j'intègre un onchange dans un echo et malheureusement, celui-ci n'est plus du tout pris en compte.

    Voilà un exemple concret de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select name='idchapact' class='selectProfilage' id='idchapact' onchange='javascript:window.location='profilage.php?
    idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'
    &idnaf='+document.getElementById('idnaf').value+'
    &idlibnaf='+document.getElementById('idlibnaf').value+'
    &idnaf='+document.getElementById('idnaf').value+'
    &idlibfct='+document.getElementById('idlibfct').value+
    '&idpscli='+document.getElementById('idpscli').value+'
    &idlibpscli='+document.getElementById('idlibpscli').value+
    '&idsociete='+document.getElementById('idsociete').value+
    '&idagence='+document.getElementById('idagence').value+
    '&contact='+document.getElementById('contact').value'>";
    Lorsque celui ci est intégré à du HTML, tout fonctionne correctement mais dès qu'il est intégré dans du php ça **** dans la colle...

    Auriez vous une solution à me proposer ?

    Merci d'avance !

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Citation Envoyé par Little_flower Voir le message
    Lorsque celui ci est intégré à du HTML, tout fonctionne correctement mais dès qu'il est intégré dans du php ça **** dans la colle...

    Auriez vous une solution à me proposer ?

    Merci d'avance !
    -> va sur le forum php...

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Heu ok...

    Mais je ne suis pas sûre qu'ils soient plus à même de me répondre...

    Si vous avez des idées n'hésitez surtout pas !

    Merci d'avance

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    onchange="window.location='profilage.php?
    idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'
    &idnaf='+document.getElementById('idnaf').value+'
    &idlibnaf='+document.getElementById('idlibnaf').value+'
    &idnaf='+document.getElementById('idnaf').value+'
    &idlibfct='+document.getElementById('idlibfct').value+
    '&idpscli='+document.getElementById('idpscli').value+'
    &idlibpscli='+document.getElementById('idlibpscli').value+
    '&idsociete='+document.getElementById('idsociete').value+
    '&idagence='+document.getElementById('idagence').value+
    '&contact='+document.getElementById('contact').value"
    ?
    j'ai remplacé le ' par " sur le onchange...

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    peux tu nous montrer la source générée ?

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Si je mets des guillemets, il me sort une erreur de cette forme :

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in
    Merci de votre aide...

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    il doit avoir un echo avant le code

    ajoute des \ ou \\ sous php il y a la fonction addslash

  8. #8
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Il y a bien un echo...

    Je vous donne le code depuis le echo (j'ai réduis bien sûr...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo "
                            </select>
                            </td>
                        </tr>
                        <tr>
                        	<td width='200px'>Domaine d'activité des Entreprises</td>
                            <td><select name='idchapact' class='selectProfilage' id='idchapact' onchange='javascript:window.location='profilage.php?idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibnaf='+document.getElementById('idlibnaf').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibfct='+document.getElementById('idlibfct').value+'&idpscli='+document.getElementById('idpscli').value+'&idlibpscli='+document.getElementById('idlibpscli').value+'&idsociete='+document.getElementById('idsociete').value+'&idagence='+document.getElementById('idagence').value+'&contact='+document.getElementById('contact').value'>";
    En espèrant vous avoir apporté plus d'éléments...

    Malheuresement, je n'arrive pas avec ce echo à récupérer mon javascript même en utilisant \ ou \\...

    Et je ne vois pas trop le rapport avec addslash... ?
    Merci pour votre aide

  9. #9
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    echo "
    </select>
    </td>
    </tr>
    <tr>
    <td width='200px'>Domaine d'activité des Entreprises</td>
    <td><select name='idchapact' class='selectProfilage' id='idchapact' onchange="javascript:window.location='profilage.php?idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibnaf='+document.getElementById('idlibnaf').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibfct='+document.getElementById('idlibfct').value+'&idpscli='+document.getElementById('idpscli').value+'&idlibpscli='+document.getElementById('idlibpscli').value+'&idsociete='+document.getElementById('idsociete').value+'&idagence='+document.getElementById('idagence').value+'&contact='+document.getElementById('contact').value">";

    ou évite les echo s'il n'y a aucun traitement:

    //code php
    //fin code php simple sortie
    ?>

    </select>
    </td>
    </tr>
    <tr>
    <td width='200px'>Domaine d'activité des Entreprises</td>
    <td><select name='idchapact' class='selectProfilage' id='idchapact' onchange=\"javascript:window.location='profilage.php?idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibnaf='+document.getElementById('idlibnaf').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibfct='+document.getElementById('idlibfct').value+'&idpscli='+document.getElementById('idpscli').value+'&idlibpscli='+document.getElementById('idlibpscli').value+'&idsociete='+document.getElementById('idsociete').value+'&idagence='+document.getElementById('idagence').value+'&contact='+document.getElementById('contact').value\">
    <?php
    //autre code php...
    ?>

  10. #10
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Justement, il y a un traitement...

    Ce code ne s'exécute qu'une fois qu'il a reçu une variable de formulaire... C'est donc pour cela que j'ai un "echo" dans mon code...

  11. #11
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Citation Envoyé par Little_flower Voir le message
    Ce code ne s'exécute qu'une fois qu'il a reçu une variable de formulaire.
    à vérifier (suis médisant)

  12. #12
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Et bien, j'ai dans un premier temps un formulaire qui une fois validé me renvoie une varaible nommée Etape1.

    Une fois cette varaible récupérée avec un isset, je lance l'affichage de mon 2° formulaire avec ces fameux select.

    Voici un bout plus précis du code :

    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
    if(isset($_POST['etape1'])) {
     
    				echo " <table width='700px'>
                    	<tr>
                        	<td colspan='3' align='center'>Saisie des codes de profilage</td>
                        </tr>
                        <tr>
                        	<td width='200px'>Activités des Entreprises</td>
                            <td td width='250px' colspan='2'><form name='profilage' method='GET' action='profilage.php'>
                            <select name='idact' id='idactivite'>";
     
    /**************************************************************************************************************************************************************************************Traitement pour Activité************************************************************ ************************************************************************************************************************************/
     
    					   // Si on ne recoit rien :
     
    					   if(!isset($_GET['idchapact']) && !isset($_GET['idact']) &&!isset($_GET['idnaf'])) {
    						$sql = mysql_query("SELECT * FROM tab_societe GROUP BY activite") or die(mysql_error());
    						echo "  <option value=''></option>";
    						while($res=mysql_fetch_row($sql)) {
     
    						$act=$res[43];
    						$idsociete=$res[0];
     
    						echo "<option value='$act'>$act</option>";
    						}
                            }
     
    						//Si on reçoit domaine activité :
     
    						if(isset($_GET['idchapact'])) {
    						$act2=$_GET['idact'];
    						echo "<option value='$act2'>$act2</option>";
     
    						$sql = mysql_query("SELECT * FROM tab_societe GROUP BY activite") or die(mysql_error());
    						echo "  <option value=''></option>";
    						while($res=mysql_fetch_row($sql)) {
     
    						$act=$res[43];
    						$idsociete=$res[0];
     
    						echo "<option value='$act'>$act</option>";
    						}
     
    						}
     
     
                           echo "
                            </select>
                            </td>
                        </tr>
                        <tr>
                        	<td width='200px'>Domaine d'activité des Entreprises</td>
                            <td><select name='idchapact' class='selectProfilage' id='idchapact' onchange='javascript:window.location='profilage.php?idchapact='+this.value+'&idact='+document.getElementById('idactivite').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibnaf='+document.getElementById('idlibnaf').value+'&idnaf='+document.getElementById('idnaf').value+'&idlibfct='+document.getElementById('idlibfct').value+'&idpscli='+document.getElementById('idpscli').value+'&idlibpscli='+document.getElementById('idlibpscli').value+'&idsociete='+document.getElementById('idsociete').value+'&idagence='+document.getElementById('idagence').value+'&contact='+document.getElementById('contact').value'>";
    Voila un bon bout de code pour que vous puissiez peut être mieux comprendre...

  13. #13
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    normalement tu devrais échapper les quotes qui entourent l'url (parce que ton onchange est déjà entouré de quotes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo " ... onchange='   javascript:window.location=\'profilage.php?...\'   '> ";
    sauf que y a pas d'échappement en html et ce code provoquera une erreur (tout ce qui est après le 2ème quote - même échappé - sera considéré en dehors du onchange).

    Donc utilises des guillemets doubles autour de l'url (et échappes-les quand même sinon c'est le php cette fois ci qui va t'engueuler).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo " ... onchange='   javascript:window.location=\"profilage.php?...\"   '> ";
    (mais en fait je te conseille les guillemets doubles plutôt pour onchange et les simples autour de l'url comme dixit Matthieu2000).

Discussions similaires

  1. [PHP-JS] Javascript ou PHP
    Par lynchmaniac dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2005, 10h10
  2. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  3. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  4. [PHP-JS] convertir un bout javascript en php ?
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/08/2005, 23h42
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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