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 :

[POO] Formulaire avec du php et du javascript HTTPXmlR


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Ao�t 2008
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2008
    Messages : 3
    Par d�faut [POO] Formulaire avec du php et du javascript HTTPXmlR
    Bonjour � tous,

    Tout d'abord, je m'excuse pour la clart� de mon code qui n'est pas forc�ment parfaite (voir forcement pas parfaite...) je d�bute (je sais , �a n'est pas une excuse...)!

    Je d�veloppe un petit site de pronostics sur des match de rugby. Un fois connect�, on a acc�s � une page pronostic o� il y a 1 formulaire par match proposant de pronostique le vainqueur, et les bonus offensifs et d�fensifs. Chaque formulaire s'appelle selon l'id du match auquel il se rapporte.

    Le choix du vainqueur se fait par un <select> et les bonus par deux input checkbox.

    Avec un �v�nement onchange sur chaque �l�ment, on ex�cute la fonction javascript pronostiquer(id) que voici:

    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
    57
    58
    59
    60
    61
    function pronostiquer(id){ 
     
    		var req = null; 
     
    		if(window.XMLHttpRequest)
     
    			req = new XMLHttpRequest(); 
     
    		else if (window.ActiveXObject)
     
    			req  = new ActiveXObject("Microsoft.XMLHTTP"); 
     
     
     
    		req.onreadystatechange = function(){
     
     
     
    			if(req.readyState == 4){
     
    				if(req.status == 200) {
     
    					afficheDesc('<img src="images_site/ok.gif" width="15px" height="15px"/>','textdiv'+id);
     
    				}
     
    				else {	
     
    					afficheDesc("Error: returned status code " + req.status + " " + req.statusText,'textdiv'+id);
     
    				}	
     
     
     
    			}	
     
     
     
    		} 
     
     
     
    		var Vainqueur 	= document.forms['prono'+id].elements["vainqueur"].value;
     
    		var BOff 		= document.forms['prono'+id].elements['bo'].value;
     
    		var BDff 		= document.forms['prono'+id].elements['bd'].value;
     
    		var Idmatch 	= document.forms['prono'+id].elements['idmatch'].value;
     
    		var Idjoueur	= document.forms['prono'+id].elements['idjoueur'].value;
     
     
     
    		req.open("POST", "../scripts/script_pronostique.php", true); 
     
    		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
     
    		req.send("vainqueur="+Vainqueur+"&bo="+BOff+"&bd="+BDff+"&idmatch="+Idmatch+"&idjoueur="+Idjoueur); 
     
    }
    Le but de cette fonction d'envoyer les valeurs vainqueur, bonusoff et bonusdef et d'ex�cuter une requ�te SQL qui ajoute ou update le pronostique via le script script_pronostique.php que voici :

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <?
     
     
     
     
     
     
     
    $vainqueur = $_POST['vainqueur'];
     
    $bo = $_POST['bo'];
     
    $bd = $_POST['bd'];
     
    $idmatch = $_POST['idmatch'];
     
    $idjoueur = $_POST['idjoueur'];
     
     
     
     
     
    include '../config/config.php';
     
    $db = mysql_connect($sql_serveur,$sql_login,$sql_password);
     
    mysql_select_db($sql_base,$db);
     
     
     
    $i=0;
     
    $sql= "SELECT * FROM lagrole.pronostique WHERE idmatch='$idmatch' AND idjoueur='$idjoueur' ";
     
    $req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
     
     
    while($data = mysql_fetch_assoc($req)){
     
    $i=1;
     
    }
     
     
     
    if ($i == 1){
     
    $db = mysql_connect($sql_serveur,$sql_login,$sql_password);
     
    mysql_select_db($sql_base,$db);
     
    MYSQL_QUERY("UPDATE lagrole.pronostique SET vainqueur ='$vainqueur', bonusoff='$bo',bonusdef ='$bd' WHERE idmatch='$idmatch' AND idjoueur='$idjoueur' LIMIT 1");
     
    //MYSQL_QUERY("INSERT INTO lagrole.pronostique VALUES('','$idjoueur','$idmatch','$vainqueur','$bd','$bo')");
     
     
     
    }
     
     
     
    else {
     
    $db = mysql_connect($sql_serveur,$sql_login,$sql_password);
     
    mysql_select_db($sql_base,$db);
     
    MYSQL_QUERY("INSERT INTO lagrole.pronostique VALUES('','$idjoueur','$idmatch','$vainqueur','$bd','$bo')");
     
    //MYSQL_QUERY("UPDATE lagrole.pronostique SET vainqueur ='$vainqueur', bonusoff='$bo',bonusdef ='$bd' WHERE idmatch='$idmatch' AND idjoueur='$idjoueur' LIMIT 1");
     
     
     
    }
     
     
     
     
     
    ?>
    enfin, dans mon formulaire initial, une petite fonction php permet de mettre les check box sur checked et le select sur une valeur pr�cise si le vote a d�j� �t� efectu�.


    Jusqu'ici tout devrai bien aller MAIS....

    Sur safari, tout marche impec (je suis sous mac)...

    Quand je teste sur Firefox3.0 Mac , sur Firefox3.0 PC et sur IE6 (pas encore test� sur IE7), le clic sur une check box la requ�te effectue comme si j'avais les deux checkbox de s�lectionn�es...En effet, apr�s un rechargement, les deux sont selection�e et les deux sont enregistr�es comme check�es dans ma base de donn�e sql.

    Impossible d'enregistrer ensuite un uncheck... rien a faire... les deux cas n'enregistrent pas le uncheck...

    Le choix du vainqueur par le <select> marche lui impec quelques soit le navigateur... le probl�me viens uniquement avec les checkbox...

    Une petite id�e?

    Merci !!! Et bonne chance pour m'aider....

    Autre probl�me : comme vu dans ma fonction javascript, une image apparait a la fin de l'ex�cution du script... comment la faire disparaitre quelque secondes apr�s?

    Merci encore

    jb

    PS: Je peux passer l'adresse du site par MP mais n'ayant pas du tout vu les probl�mes de s�curit�, je voudrais �viter de la filer direct pour le moment...

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Ol�iculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 64
    Localisation : France

    Informations professionnelles :
    Activit� : DevWeb - Ol�iculteur
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par d�faut
    Je suis moi aussi sur Mac et n'ai jamais rencontr� ce type de pb.
    Mais je ne pense pas que le probl�me soit li� � la plateforme. Cela fonctionne sur Safari (s'est une hypoth�se ) simplement car Safari g�re le DOM un peu diff�rement. Si tu veux �tre sur de ton code test le avec Firefox.

    En clair, je pense que si tu fais .value sur un objet checkbox, il te retourne On ou OFF, c'est � toi de faire la conversion (0 ou 1) ensuite, tu ne crois pas ?

  3. #3
    Candidat au Club
    Inscrit en
    Ao�t 2008
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2008
    Messages : 3
    Par d�faut
    Oui je pense que c'est Safari qui est plus efficace pour des codes peut �tre un peu approximatifs...

    Dans tous les cas, il faut que �a marche au moins sur FF (et IE en plus �a serai top !)

    Pour la checkbox, c'est justement un ON qui m'interesse pour la checker...

    Voici le code php autour de la checkbox bonus offensif:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    echo '<td> <input type="checkbox" name="bo"';
         if ($r['2'] =='on'){echo ' checked';}
         if(date_passee($p['8'])){echo ' disabled="disabled"';}	
    echo '  onchange="pronostiquerBO('.$p['7'].')"> </td>';
    $r['2'] est obtenu par une petite requ�te sql qui regarde si le match a d�j� �t� pronostiqu� et si oui me retourne dans $r les diff�rentes valeurs (vainqueur, bo, bd...)
    $p['8'] est la date et l'heure a laquelle le match commence...

    J'ai test� de cr�er une fonction par �l�ment (select, checkbox bo et checkbox bd)... �a a dissoci� le probl�me, les checkbox ne se cochent plus ensembles mais je n'arrive pas a enregistrer un d�cochage... alors que le cochage fonctionne bien...


  4. #4
    Candidat au Club
    Inscrit en
    Ao�t 2008
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2008
    Messages : 3
    Par d�faut
    En fait avec value , si la case est d�coch�e, la valeure n'est pas OFF mais rien ('NULL')

    En travaillant avec checked au lieu de value soit 'true ou false' au lieu de 'on OU NULL', �a marche !!!


  5. #5
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Ol�iculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 64
    Localisation : France

    Informations professionnelles :
    Activit� : DevWeb - Ol�iculteur
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par d�faut
    Cool !!
    A+ sur les ondes

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Formulaire avec nom en tableau et javascript
    Par kloyatweb dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 18/02/2010, 10h09
  2. [XHTML 1.0] Formulaire avec du PHP
    Par kaselander dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 10
    Dernier message: 25/02/2009, 13h49
  3. [POO] Requ�te avec classe PHP
    Par krfa1 dans le forum Langage
    R�ponses: 3
    Dernier message: 18/01/2007, 18h45
  4. Formulaire avec du PHP qui ne marche pas !
    Par Sandara dans le forum Langage
    R�ponses: 19
    Dernier message: 02/06/2006, 18h26
  5. VALUE d'un champ de formulaire avec variable php
    Par shub dans le forum Langage
    R�ponses: 5
    Dernier message: 04/04/2006, 12h13

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