[RESOLU] mettre les données d'un javascript dans un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] mettre les données d'un javascript dans un tableau

Re: mettre les données d'un javascript dans un tableau

par bartoon » 22 août 2017, 15:31

Bonjour
j'ai tester et ... ça fonctionne.. je ne sais pas exactement expliquer pourquoi lol mais ça fonctionne, juste que je sais pas si je peux régler ça mais mon tirage s'envoi en mettant les tirage au fur et a mesure (c'est pas clair je met un exemple) :
je reçois ceci en mail : tirage : 6,6,56,6,56,34,6,56,34,14,6,56,34,14,36,6,56,34,14,36,5,6,56,34,14,36,5,52,6,56,34,14,36,5,52,6,56,34,14,36,5,52
en fait le tirage définitif des 7 cartes est 6,56,34,14,36,5,52 (c'est a dire les 7 derniers chiffres, mais il m'envoi tous les tours du tirage. Ce n'est pas très gênant vu que c'est moi qui reçois le mail, mais c'est bizarre,
Je ne pense pas que cela nuise ni a la sécurité de mon site, ni a la charge du site donc dans l'absolu ce n'est pas très grave.
En tout cas merci beaucoup. tu me sauves a chaque fois, c'est vraiment très gentil de ta part. Par contre j'en déduit que si je veux continuer a écrire des bout de code (je n'ose pas dire développer vu comme mes mini programme sont petit et ridicule lol) il va falloir que j'apprenne aussi le javascript ... on est pas coucher lol

Re: mettre les données d'un javascript dans un tableau

par Spols » 22 août 2017, 08:11

L'idée va être de créer ton champ caché sans valeur mais avec un id pour le retrouver facilement en javascript. tu le met bien sur entre tes balises <form> et </form>

dans ton script javascript, tu peux y mettre document.getElementById('mon_ID').value=ma_variable;

En php tu récupèrera les données via $_POST['My_name'] ou $_GET['My_name'] selon le mode de transfert de ton formulaire

si tu passe un tableau, pense à le sérialiser avant

Re: mettre les données d'un javascript dans un tableau

par bartoon » 21 août 2017, 20:53

J'ai essayer mais je ne vois pas du tout comment passer de javascript à php c'est totalement flou pour moi.
j'ai mis <INPUT TYPE="hidden" NAME="cartes " VALUE="TirageEffectue"> mais forcement c'est pas bon. La case value est une nébuleuse pour moi .. ca en est désespérant. Je suis malcomprenant des variables.
J'ai mis ma ligne en dehors des codes <script> et </script> c'est le bon endroit ?

Re: mettre les données d'un javascript dans un tableau

par bartoon » 21 août 2017, 14:25

merci, en fait c'est un tirage de cartes, donc si les gens veulent tricher dessus cela n'a plus trop d’intérêt pour eux surtout :)
Est ce que tu pourrais me donner un exemple concret stp pour les champs hidden ? Parce que je vois pas du tout ou ca peut se mettre, deja j'ai quelques interrogations parce que je regarde les cours classroom et ils y disent des choses que j'essaye d'appliquer et ca ne fonctionne pas. Par exemple sur classroom ils disent que la formulation var TirageEffectue = new Array(); ne doit plus être utilisée, qu'il est mieux de mettre var TirageEffectue = Array[]; mais quand je fais cela il ne veut pas.
Je pense que ça vient surement de moi qui n'ai pas compris, mais juste pour que je puisse un peu avancer pourrais tu me mettre un exemple pour les hidden savoir ou je doit les mettre ? ça serait vraiment très cool. Et surtoutr j'arrive beaucoup mieux a comprendre comme cela avec des exemples concrets.
Merci d'avance

Re: mettre les données d'un javascript dans un tableau

par Spols » 21 août 2017, 10:10

a l'interieur de ton formulaire tu peux inserer des champs de type="hidden" qui ne s'afficheront pas mais que tu remplira par javascript. tu pourra ainsi les récupèrer en php après soumission du formulaire. cependant, ne connaissant pas ton application, garde en mémoire que le javascript est modifiable par l'utilisateur, ainsi, si tu as un jeu concours par exemple, il serai facile de le truquer par exemple.

Re: mettre les données d'un javascript dans un tableau

par bartoon » 20 août 2017, 20:43

un petit truc en plus :
en mettant a la ligne apres le TirageEffectue[Numero] = Aleatoire;
dans la fonction tirageAleatoire un :
alert(TirageEffectue[Numero]);
j'ai ce que je veux chaque fois que je tire une carte. C'est ce résultat qu'il faut que je récupère quand j'envoi le tout et c'est mettre ces résultats a la suite et a les envoyer au php qu'il me manque ...

mettre les données d'un javascript dans un tableau

par bartoon » 20 août 2017, 18:30

Bonjour a tout le monde,
Je voudrais savoir s'il est possible de mettre des données d'un javascript dans un tableau et que ce dernier soit lu par du php ?

Je m'explique, j'apprend toujours le php mais j'ai succomber aux sirènes de la facilité car je voulais faire un tirage de carte et je suis tomber sur un bout de code javascript qui ressemblait bien a ce que je voulais.
Mais forcement étant encore plus mauvais en javascript qu'en php (si si c'est possible) je l'ai un peu bidouiller pour avoir ce que je voulais, mais maintenant je voudrais qu'a chaque boucle il me mette non seulement le résultat sur l’écran mais aussi dans un tableau.
Pour le moment, pour vérifier ce qu'il y a dans le tableau, je l'affiche en bas de la page, mais a terme ces résultats devront partir en email (bon ça on verra plus tard :) )

Donc j'ai un formulaire avec une checkbox, un avec du texte, eux je le récupère sans problème, mais je souhaiterais avoir en prime les résultats de mon tirage de cartes.
je vous mets mon code en espérant que ça soit assez clair.
Merci d'avance si quelqu'un peut m'aider.
<html>
 <head>
  <title>Tirage Gé</title>
   </head>
 <body>
<?php
require('wp-blog-header.php');
include $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/graphene/header.php";
//include("test-tirage.php");
?>
Vous souhaitez interroger l'Oracle Gé ?<br>

Ce jeu, d'une qualité exceptionnelle, doit vous parler et répondre à vos questions.<br>

Ne consultez l'Oracle qu'à bon escient et après vous être décontracté. Il faut que vous soyez dans un état de réceptivité parfaite qu'accompagne en général la relaxation du corps.<br>

Concentrez-vous sur la question que vous voulez poser<br>
<br>
<center>
Choisissez le thème de votre question :
<br><br>
<FORM method="post" action="test-tirage.php">
<INPUT type="checkbox" name="choix1" /> Sentimental <br />
<INPUT type="checkbox" name="choix2" /> Professionnel <br />
<INPUT type="checkbox" name="choix3" /> Matériel <br />
<br>
<br>

         <label for="question">
       Veuillez écrire votre question :
       </label>
       <br>
       <br>
       <textarea name="question" id="question" cols="60" style="height:100px;" />

       </textarea>     
 
</center>
<br>
<br>
<br>

<center>
<table border="1" cellpadding="3">
        <tr>
                <td><img id="Case1" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case2" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case3" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case4" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case5" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case6" src="testtirage/doscarteseul.jpg" /></td>
                <td><img id="Case7" src="testtirage/doscarteseul.jpg" /></td>
        </tr>
</table>
</center>

<script type="text/javascript">


var NombreDeCases = 7;
var NombreMaximum = 61;
var TirageEffectue = new Array();

function nombreAleatoire()
{
return Math.floor(Math.random() * NombreMaximum) + 1;

}


function dejaPresent(Nombre)
{
var Element, Valeur;
 for(var i = 1; i <= TirageEffectue.length; i++)
        {
                if(TirageEffectue[i] == Nombre)
                {
                        return true;
                }
        }
        return false;
}
// Numero = 1, on commence avec le tirage n°1
var Numero = 1;
function tirageAleatoire()
{
                // La condition supplementaire vient se place dans ce if
                if(Numero <= NombreDeCases && !TirageEffectue[Numero])
                {
                        var Element = document.getElementById('Case' + Numero);
                        if(Element)
                        {
                                var Aleatoire;
                                do Aleatoire = nombreAleatoire();
                                while(dejaPresent(Aleatoire));
                                Element.src = 'testtirage/' + Aleatoire + '.jpg';
                        }
                        TirageEffectue[Numero] = Aleatoire;
                        // On incrémente
                        Numero++;
        }
}

</script>

<br>
<center>
<a href="#" onclick="tirageAleatoire();return false;"><img src="testtirage/doscarteseul.jpg" alt= "tirage"> </a>
</center>

envoyer le resultat
<input type="submit" value="Envoyer" />
  </form>
<?php


if(isset($_POST['choix1']))
         echo "Domaine : Sentimental.\n";
      if(isset($_POST['choix2']))
         echo "Domaine : Professionnel.\n";
            if(isset($_POST['choix3']))
            echo "Domaine : Matériel.\n";

$resultats = $_POST['question'];
        
echo $resultats ;

?>
</body>
</html>


<?php
require('wp-blog-header.php');
include $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/graphene/footer.php";
?>