Résolu J'ai besoin d'aide en Jquery

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Yo

J'ai besoin d'un petit coup de main :)
Je voudrais quand je clique sur spammer il y a un decompte du nombre d'envoie de message mais sa marque juste Terminé et la page s'actualise

PHP:
<h2>Spammer PSN</h2>
    <form name="formu"action="" method="POST">
       <input type="text" name="message" placeholder="Ton Message" /><br />
        <input type="text" name="number" placeholder="Ton Nombre de Message" /><br />
        <input type="text" name="destinataire" placeholder="Le Destinataire" /><br />
        <input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />
    </form>
        <?php
    if (isset($_POST['resolve'])) {
        $numbermin = 1;
$numbermax = htmlspecialchars($_POST['number']);
        while ($numbermin <= $numbermax)
{
        $message = htmlspecialchars($_POST['message']);
        $destinataire = htmlspecialchars($_POST['destinataire']);
        file_get_contents('API SWAG');
        $numbermin++;}
        echo '<br/><div id="bip" class="display"></div>';
}
    ?>
    <div id="bip" class="display"></div>
<script>
var counter = '<?php echo $message ?>';
var intervalId = null;
function action()
{
  clearInterval(intervalId);
  document.getElementById("bip").innerHTML = "TERMINE!";   
}
function bip()
{
  document.getElementById("bip").innerHTML = counter + " messages restantes";
  counter--;
}
function start()
{
  intervalId = setInterval(bip, 1000);
  setTimeout(action, counter * 1000);
}   
</script>
 

Tanuki_Dev

Membre
Inscription
5 Décembre 2012
Messages
208
Réactions
53
Points
11 386
Commence par remplacer
HTML:
<input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />

Par
HTML:
<button id="startSpam" type="submit" name="resolve" class="btn btn-info btn-medium">Spammer !</button>

puis dans ton code js tu rajoutes :
Code:
$('#startSpam').on('click', start);

ou tu supprimes la fonction start plus haut et tu mets ça à la place :
Code:
$('#startSpam').on('click', function(){
     intervalId = setInterval(bip, 1000);
     setTimeout(action, counter * 1000);
})

Ensuite actuellement tu ne peux pas faire de décompte vu que ta page est rechargée à chaque fois que tu utilises le formulaire, ou faudrait save le nombre de requête dans la $_SESSION[]

Si tu veux absolument faire un décompte en js, je te conseille alors de voir du côté de l'Ajax :)

Ensuite j'ai pas compris pourquoi tu mets du texte ici :
var counter = '<?php echo $message ?>';

puis tu décrémentes un peu plus bas ? Tu t'es trompé quelque part
 

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Commence par remplacer
<input type="submit" name="resolve" onclick="start()" class="btn btn-info btn-medium" value="Spammer !" />

Par
<button id="startSpam" type="submit" name="resolve" class="btn btn-info btn-medium">Spammer !</button>

Ensuite actuellement tu ne peux pas faire de décompte vu que ta page est rechargée à chaque fois que tu utilises le formulaire, ou faudrait save le nombre de requête dans la $_SESSION[]

Si tu veux absolument faire un décompte en js, je te conseille alors de voir du côté de l'Ajax :)

Ensuite j'ai pas compris pourquoi tu mets du texte ici :
var counter = '<?php echo $message ?>';

puis tu décrémentes un peu plus bas ? Tu t'es trompé quelque part
Alors j'ai fais c'bon, comment ne pas la recharger alors? Bah dans le counter je recup le nombre de message que j'ai rentré plus pour que sa aille jusque 0
 

membre241969

Premium
Inscription
9 Février 2013
Messages
36 394
Réactions
20 539
Points
18 800
J'ai édité le titre de ta discussion pour que celle-ci soit plus compréhensible.

A l'avenir essaie de faire des titres plus longs et détaillés, plus le titre est long et détaillé, plus tu obtiendras de vues ainsi que des réponses . :tchuss:
 
Haut