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

jQuery Discussion :

Code sur serveur OVH


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2019
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2019
    Messages : 31
    Par défaut Code sur serveur OVH
    Bonjour,

    Le code ci-dessous fonctionne parfaitement sur mon serveur local Xampp (PHP 7.3.2) mais ne fonctionne pas sur le serveur OVH. Je ne comprends pas pourquoi...

    Code php : 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
    <?php	
    require 'Database.php';
     
    // fonction d'échappement des caractères dangereux
    $hsc  = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    $lame = $_POST['cat_lame'] ?? '';
    $db   = Database::connect();
     
    if ($lame === 'PVC') {
        $sql     = 'SELECT id_lame, desc_lame, embout, ref_lame FROM type_lame WHERE cat_lame = "PVC" ORDER BY ref_lame DESC';}
    elseif ($lame === 'POLY') { 
    	$sql     = 'SELECT id_lame, desc_lame, embout, ref_lame FROM type_lame WHERE cat_lame = "POLY" ORDER BY ref_lame DESC';
    	}
     
    $options = [];
     
    foreach ($db->query($sql) as $data) {
    	$embout    = empty($data['embout']) ? '' : $hsc(" embout {$data['embout']}");
    	$options[] = '<option value="'.$hsc($data['ref_lame']).'">'.$hsc($data['desc_lame']).$embout.'</option>'; 
    }
    $options = implode('', $options);
     
    echo (<<<html
    	<div class="container">
    	<div class="form-group">
    		<select class="form-control" id="type_lame" name="ref_lame" onchange="detailLame()">
    			{$options}
    		</select>
    	</div>
    	</div>    
    html
    	);
    ?>

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    un message d'erreur ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lame = $_POST['cat_lame'] ?? '';
    Opérateur de fusion Null, disponible depuis PHP 7.


    Vérifie la version de PHP sur le serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2019
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2019
    Messages : 31
    Par défaut
    Merci pour les réponses...

    Non, je n'ai aucun message d'erreur. J'utilise ce type d'injection dans d'autres parties du formulaire et cela fonctionne.

    Version PHP sur hébergement OVH : 7.3.

  5. #5
    Invité
    Invité(e)
    Par défaut
    "ça ne fonctionne pas" n'apporte AUCUNE information utile.

    • Mets des echo, des var_dump (pour voir ce qui s'affiche)
    • Procède par dichotomie : enlève TOUT le bout de code, puis ajoute-le, morceau par morceau, pour voir à quel moment ça bugue
    • ...

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2019
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2019
    Messages : 31
    Par défaut
    Bonjour,

    J'ai effectué tous les tests possibles et j'arrive à la conclusion que le problème se pose au niveau de la fonction javascript appelante. Mais, je n'arrive pas à voir où cela coince.

    Le paramètre est bien transmis au script, mais après...

    Voici le code du script :

    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
     
     	<!--Affichage de la liste du type de lame selectionné-->
     	<script type="text/javascript">
     		function selectLame2(type_lame) {
     			var valeur = type_lame;
     			$.post('insert-dv.php', {
     				retour: valeur
     			}); 
     			$.post('selectLame.php', 
     				{
     					cat_lame: valeur
     				}, 
     				function(data) {
     					$('#detailLame').html(data);
     				});
     		}
     	</script>

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Utilises la console du navigateur (F12) et l'onglet réseau pour voir si les variables sont bien passées. Si oui, fais des tests dans tes scripts "insert-dv.php" et "selectLame.php" puisque ce sont les destinations de tes requêtes ajax.

    Aussi tu fais deux requêtes ajax successives, et comme elles sont asynchrones, peut-être ne se font-elles pas dans le bon ordre. Normalement tu devrais pouvoir ne faire qu'une requête en rassemblant les scripts de "insert-dv.php" et "selectLame.php" dans un seul script ce qui serait plus optimisé. Sinon si tu tiens vraiment à faire deux requêtes ajax successives il faudrait faire la seconde dans le "success" de la première pour maitriser l'ordre d'exécution.

    Tu peux aussi faire un console.log(data); pour contrôler ton retour ajax.

    Au passage avec html5, remplaces la ligne <script type="text/javascript"> simplement par <script>

Discussions similaires

  1. [ZF 1.11] Installation sur serveur OVH
    Par totow dans le forum Zend Framework
    Réponses: 5
    Dernier message: 23/02/2012, 17h42
  2. Installation OpenERP sur serveur OVH
    Par tarek008 dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 08/06/2011, 13h00
  3. Installation site Joomla local sur serveur OVH avec Filezilla
    Par ExcelTD dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/10/2010, 19h09
  4. Sessions et cookies sur serveurs OVH
    Par heycraft dans le forum Langage
    Réponses: 3
    Dernier message: 22/03/2010, 19h00
  5. Exécuter une requête MySQL en php sur serveur OVH
    Par phebus1204 dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/04/2009, 16h41

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