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

PHP & Base de données Discussion :

Pb Script enregistrement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Août 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Août 2013
    Messages : 41
    Par défaut Pb Script enregistrement
    Bonjour à tous,

    Je suis actuellement en train de développer une petite aplli PHP pour le taf et je bloque à un endroit...

    J'ai l'affichage d'une fiche client avec des listes déroulantes et autres champs texte. Lorsque l'on clique sur enregistrer, ça envoie vers un programme en javascript qui lance un script PHP. Mais quand je clique, rien ne se passe !

    Script du formulaire ($tab_req est la requete qui me récupère tous les champs de la BDD) :
    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
    echo '<table id = "fiche">		<tr><th>Date Ouverture Litige</th><td>'.$tab_req['date_ouverture'].'</td></tr>
    		<tr><th>Par</th><td>'.$tab_req['ouvert_par'].'</td></tr>
    		<tr><th>Origine Litige</th><td>'.$tab_req['origine_litige'].'</td></tr>
    		<tr><th>Prochaine Livraison</th><td>'.$tab_req['date_livraison'].'</td></tr>
    		<tr><th>Statut Litige</th><td>'.$tab_req['traitement_litige'].'</td></tr>
    		<tr><th>Type Litige</th><td>'.$tab_req['type_litige'].'</td></tr>
    		<tr><th>Solution Litige</th><td>'.$tab_req['solution_litige'].'</td></tr>
    		<tr><th>Num Client</th><td>'.$tab_req['CT_Num'].'</td></tr>
    		<tr><th>Nom Pr&eacute;nom</th><td>'.$tab_req['CT_Intitule'].'</td></tr>
    		<tr><th>Adresse </th><td>'.$tab_req['CT_Adresse'].'</td></tr>
    		<tr><th>Complement Adresse </th><td>'.$tab_req['CT_CodeRegion'].'</td></tr>
    		<tr><th>Code Postal</th><td>'.$tab_req['CT_CodePostal'].'</td></tr><tr><th>Ville</th><td>'.$tab_req['CT_Ville'].'</td></tr>
    		<tr><th>Tel 1</th><td>'.$tab_req['CT_Telephone'].'</td></tr>
    		<tr><th>Tel 2</th><td>'.$tab_req['CT_Telecopie'].'</td></tr>
    		<tr><th colspan = "4">Commentaire Litige</th></tr>
    		<tr><td colspan = "4" align ="center"><textarea name = "commentaire_litige" id = "commentaire_litige" cols = "50" rows = "3">'.$tab_req['commentaire_litige'].'</textarea></td></tr>
    		<td colspan = "2" align = "center"><input type = "button" name = "enregistrer" value = "Enregistrer" onclick = "enregistrer(\''.$tab_req['CT_Num'].'\');" ></td>
    </tr></table>' ;
    SCRIPT JS :

    Code javascript : 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
    function enregistrer(prospect)
    {
     
    	var traitement = document.getElementById('traitement_litige').value ;
    	var origine = document.getElementById('origine_litige').value ;
    	var comment = document.getElementById('commentaire_litige').value ;
    	var type = document.getElementById('type_litige').value ;
    	var modification= document.getElementById('date_modification').value ;
     
    	var xhr;
     
    if (window.XMLHttpRequest)          //  Objet de la fenÍtre courant
    	{
    	xhr = new XMLHttpRequest();     //  Firefox, Safari, ...
    	}
    else if (window.ActiveXObject)      //  Version Active
    	   {
    		xhr = new ActiveXObject( "Microsoft.XMLHTTP" );   // Internet Explorer
    	   }
     
    	xhr.onreadystatechange = function()
    	{
    		if( xhr.readyState == 4 && xhr.status == 200 )
    		{
    		  //document.getElementById( 'lst' ).innerHTML = xhr.responseText;
    		}
    	}
     
    	xhr.open( "POST" , "ajax/enregistrer.php" , false );
    	xhr.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
    	xhr.send("prospect=" + prospect + "&traitement_litige=" + traitement + "&origine_litige=" + origine + "&commentaire_litige=" + comment + "&type_litige=" + type + "&date_modification=" + modification );
     
     
    	if (xhr.responseText == 'ok')
    	{	
    		alert('Fiche mise ‡ jour') ;
    	}
    	else
    	{
    		alert('ERREUR DE MISE A JOUR !!') ;
    		alert('ERREUR DE MISE A JOUR !!') ;
    	}
    }
    ET ENFIN LE SCRIPT FINAL APPELE PAR JS :

    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
    <?php
    session_start() ;
     
    $_POST['prospect']=$prospect;
    $_POST['traitement_litige']=$traitement_litige ;
    $_POST['date_modification']=$date_modification ;
    $_POST['type_litige']=$type_litige ;
    $_POST['commentaire_litige']=$commentaire_litige ;
    $_POST['origine_litige']=$origine_litige ;
     
    $connexion = mysqli_connect('localhost', 'root', 'root', 'MABASE') or die("Error " . mysqli_error($connexion));
     
     
    $stmt = mysqli_prepare($connexion, "UPDATE LITIGES SET traitement_litige = ?, type_litige = ?, commentaire_litige = ?, origine_litige = ?, date_modification = ?
    where CT_Num=$prospect ") or die("Error " . mysqli_error($stmt)); 
    mysqli_stmt_bind_param("sssss", $traitement_litige, $type_litige, $commentaire_litige, $origine_litige, "NOW()");  
    mysqli_stmt_execute();
     
     
    mysqli_stmt_close($stmt);        
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Déja ton script d'update pourrait plus ressembler à ça ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $connexion = mysqli_connect('localhost', 'root', 'root', 'MABASE');
     
     $stmt = mysqli_prepare($connexion, "UPDATE LITIGES SET traitement_litige = ?, type_litige = ?, commentaire_litige = ?, origine_litige = ?, date_modification = CURDATE()
    WHERE CT_Num= ?");
    mysqli_stmt_bind_param("sssss", $_POST['traitement_litige'], $_POST['type_litige'], $_POST['commentaire_litige'], $_POST['origine_litige'], $_POST['prospect']);  
    if (mysqli_stmt_execute()) {
        echo 'ok';
    }
    ?>
    - j'ai retiré le session_start puisque tu ne t'en sers pas
    - j'ai retiré les récupération des variables $_POST que tu as écrites à l'envers et qui ne sont pas utiles
    - j'ai mis $prospect en paramètre dans la requête
    - j'ai mis la date directement dans la requête
    - tu as un champ "date_modification' dont tu ne te sers pas
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Août 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Août 2013
    Messages : 41
    Par défaut Merci
    Merci pour ta réponse et ton nettoyage Vincent.

    Par contre, toujours rien qui se passe...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je m'en doutais un peu : puisque tu n'as aucun des messages, ni ok, ni erreur, c'est que ça coince avant.

    Place quand même un
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    alert (xhr.responseText);
    pour contrôler.

    Et regarde si tu as des erreurs Javascript dans ton navigateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Août 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Août 2013
    Messages : 41
    Par défaut
    En effet, j'ai 6 "document.getElementbyID(...) is NULL...
    Serait-ce du fait que les variables proviennent de listes déroulantes ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    pour la value de ta liste déroulante :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var e = document.getElementById("origine_litige");
    var origine = e.options[e.selectedIndex].value;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Recherche script enregistrement en csv
    Par Vishnou dans le forum Windows
    Réponses: 2
    Dernier message: 28/06/2014, 17h56
  2. Script enregistrement adresse IP dans fichier txt
    Par zarex5 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 23/04/2013, 08h56
  3. Script pour bloquer la fonction enregistrer sous
    Par zidrouz dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/01/2006, 10h16
  4. Enregistrer un script dans un fichier externe
    Par Furius dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 30/11/2005, 12h57
  5. Enregistrer un script
    Par wazar dans le forum Oracle
    Réponses: 2
    Dernier message: 26/02/2005, 16h44

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