Onclick sur PHP

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 : Onclick sur PHP

Re: Onclick sur PHP

par Ascari » 04 déc. 2012, 22:44

xTG merci.

J'ai changé ma méthode, j'ai fait une boucle pour chaque Ticket (ID) je fais l'affichage de 3 boutons de mise à jour (Open Close Wait) avec

mysql_query("UPDATE users SET Statut='Open' WHERE id=$_GET[id]");

Beaucoup plus simple pour moi, il me reste plus qu'a faire une page pour ajouter les utilisateurs et je pourrais présenter l'application demain :D

Merci pour votre aide

Re: Onclick sur PHP

par xTG » 04 déc. 2012, 17:34

J'aimerais juste ajouter la possibilité de changer le statut du ticket via une autre page, mais je ne vois absolument pas comment faire via une liste déroulante.
Une balise <form> dont l'attribut action pointe vers une autre page ?

Rappelons qu'une liste déroulante sans balise form n'est pas très utile. ;)
(j'exclus le javascript dans ce raisonnement, mais je pense toute de même qu'un select sans form doit se noyer dans une analyse W3C...)

Re: Onclick sur PHP

par Ascari » 04 déc. 2012, 16:56

Rebonjour à tous.
J'ai trouvé je déclarais ma variable à un mauvais endroit.
Tout fonctionne maintenant merci beaucoup :D


J'aimerais juste ajouter la possibilité de changer le statut du ticket via une autre page, mais je ne vois absolument pas comment faire via une liste déroulante.

Avez vous un lien, un tuto ou exemple qui pourrait m'aider par hazard ?

Merci encore

Voici mon code.

Code : Tout sélectionner

<?PHP include ('../config.inc.php'); // affiche réserve $sql = "SELECT id,Statut,CodeAgent,StartBreak, langue FROM users WHERE langue='FR' ORDER BY Statut ASC"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); echo '<b>'.'Les BreakPass FR en réserve'.'<br></b>'; while($data = mysql_fetch_assoc($req)) { echo $data['id'].''.$data['Statut'].' mise à jour => '.'<SELECT name="nom" size="1"><OPTION>Wait<OPTION>Close<OPTION>Open</SELECT><br>'; } ?>

Re: Onclick sur PHP

par juliette » 30 nov. 2012, 13:15

Ah, oui c'est ma faute, comme tu n'utilise pas la bonne balise pour écrire ton code, j'avais pas fait attention...
on reprend, fait moi voir ou tu en est et utilise le bouton php pour baliser ton code...

Re: Onclick sur PHP

par Ascari » 30 nov. 2012, 07:49

Je ne comprends pas ces deux lignes sont en commentaire. :shock:

Re: Onclick sur PHP

par juliette » 30 nov. 2012, 00:35

même chose sur cette ligne:
echo '<b>'.$data['id'].' '.$data['Statut'].'</b> ('.$data['langue'].')'.'<br>';

Re: Onclick sur PHP

par juliette » 30 nov. 2012, 00:33

je sais pas trop pourquoi le 1er uniquement mais deja, il y a un soucis dans cette ligne:
//echo '<a href="pausefr.php?id=".$id[id]"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>'; 
la concaténation n'est pas correct !

Re: Onclick sur PHP

par Ascari » 29 nov. 2012, 23:14

Me revoici apres les testes.

Je commence a obtenir des résultats correctes.
J'ai encore un petit souci.

Lorsque tous mes 10 tickets sont en statut open aucun problème.
Si par exemple le ticket 1 est en statut Close, j'ai bien que 9 lien disponibles donc correcte mais le premier n'est pas utilisable les 8 autres oui.
Je sais pas si je suis clair :s

Aurais je fait une erreur dans ma déclaration de variable qui me sert de GET ?

$idticket="1";
...
while($data = mysql_fetch_assoc($req))
{
echo '<a href="pausefr.php?id='. "$idticket".'">link</a>' ;
$idticket++;
}

Encore merci :D

Mon code pour la page d'affichage des tickets et leur selection.

Code : Tout sélectionner

<?PHP include ('config.inc.php'); ?> <center> Les ticket FR disponibles : <br><br> </center> <?PHP $idticket="1"; $sql = "SELECT id,Statut,langue FROM users WHERE langue='FR' and Statut='Open'"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours //echo '<b>'.$data['id'].' '.$data['Statut'].'</b> ('.$data['langue'].')'.'<br>'; echo '<a href="pausefr.php?id='. "$idticket" .'">link</a>' ; echo '<center>'; //echo '<a href="pausefr.php?id=".$id[id]"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>'; echo '</center>'; $idticket++; } ?>
Celui qui teste si le ticket est bien Open avant de rediriger vers le ticket

Code : Tout sélectionner

<?PHP include ('config.inc.php'); ?> Le ticket est le <?php echo $_GET["id"]; $sql = "SELECT id,Statut,langue FROM users WHERE id=$_GET[id] "; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { echo '<b>'.$data['id'].' '.$data['Statut'].'</b> ('.$data['langue'].')'.'<br>'; $ticketstat=$data['Statut']; } if($ticketstat =="Open") { echo 'Ce break pass est diponible bon break'; mysql_query("UPDATE users SET Statut='Close' WHERE id=$_GET[id]"); header('Location: leticket.php'); } //Sinon else { echo 'Ticket déjà utilisé teste ! '; } ?>
LE Ticket en lui meme pour le moment vide

Re: Onclick sur PHP

par Ascari » 29 nov. 2012, 19:52

je vais essayer cela merci :)

Re: Onclick sur PHP

par juliette » 29 nov. 2012, 19:30

EX:
echo '<a href="pausefr.php?id='.$id[id].'&action=affiche"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>
              <a href="pausefr.php?id='.$id[id].'&action=supprime"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>
            ';
regarde, j'ai mis une action, tu test l'action et tu fait réagir ton script en fonction de l'action passer pour un id precis...

EDIT: et cela doit se faire dans pausefr.php

Re: Onclick sur PHP

par juliette » 29 nov. 2012, 19:23

Alors si il sert aussi a changer de status, il te faut 2 boutons, 1 pour voir le tickets et 1 pour le modifier car un unique bouton ne peut pas avoir 2 actions...

Re: Onclick sur PHP

par Ascari » 29 nov. 2012, 19:13

Il sert a voir le contenu, mais comme un nombre limité de personne ont accés en même temps il devra donc aussi changer de statut.

Re: Onclick sur PHP

par juliette » 29 nov. 2012, 18:53

A quoi doit servir le lien, a voir le ticket ou a changer son statut ?

Re: Onclick sur PHP

par Ascari » 29 nov. 2012, 18:47

Mais je pense que ma logique est mauvaise.

Pour le moment il n'y a rien dans le pausefr.php, je pense fonctionner autrement :

donc dans mon while récuperer l'id du "ticket" pour le lien

Code : Tout sélectionner

while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours // echo '<b>'.$data['id'].' '.$data['Statut'].'</b> ('.$data['langue'].')' ; echo '<center>'; echo '<a href="pausefr.php?id=".$id[id]"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>'; echo '</center>'; }
et sur la page pausefr.php avoir mes conditions

si open update en close
si déjà en close revenir sur la page de selection pour faire un autre choix.

Que penses tu de cela ?

Le code de la page selection sur laquel je cherches comment recuperer l'id pour le lien.

Code : Tout sélectionner

<?PHP include ('config.inc.php'); ?> <center> Les ticket FR disponibles : <br><br> </center> <?PHP $sql = "SELECT id,Statut,langue FROM users WHERE langue='FR' and Statut='Open'"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours // echo '<b>'.$data['id'].' '.$data['Statut'].'</b> ('.$data['langue'].')' ; echo '<center>'; echo '<a href="pausefr.php?id=".$id[id]"><img src="pause.jpg" BORDER="0" alt="Pause" WIDTH=95 HEIGHT=95></a>'; echo '</center>'; } ?>

Re: Onclick sur PHP

par juliette » 29 nov. 2012, 17:53

'aimerais que lorsque la personne clique sur le lien, mon code verifie que ce ticket est toujours Open et si oui redirige la personne sur la page pause.php et change dans ma base SQL le statut en Close.
Alors je ne comprend plus trop, a mon avis c'est ta page pausefr.php qui devrait faire la modif en bdd...
peux tu quand même faire voir ce qu'il y a dedans ?