Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 16h58   #1
Nouveau Membre du Club
 
Femme
Inscription : janvier 2010
Messages : 78
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2010
Messages : 78
Points : 25
Points : 25
Par défaut pb de traitement dans URL

j'ai fait un site de suivi facture
j'ai créée un formulaire qui me permet d'alimenter un base dans ma SGBD d'actions faites.
ci-dessous code d'alimentation de la base
Code :
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
function insertA($client,$agent,$cab,$datecab,$datejour,$nat,$commentaire,$terrain,$type)
{
$requete="INSERT INTO actions (actions_client,actions_agent,actions_cabinet,actions_datedepotcab,actions_dateaction,actions_nature,actions_commentairesTPR,actions_terrain) ";
$requete.="VALUES ('$client','$agent','$cab','$datecab','$datejour','$nat','$commentaire','$terrain')";
$resultat=mysql_query($requete)or die('Problème de requête insertA - impayes.php');
 
$requete1="select * from actions where actions_client='$client' order by actions_dateaction DESC";
$resultat1=mysql_query($requete1)or die('Problème de requête1 insertA - impayes.php');
 
$requete2="select distinct 07_nomclient,07_typeclt from ysdrpt007 where 07_refclient='$client'";
$resultat2=mysql_query($requete2)or die('Problème de requête2 insertA - impayes.php');
 
$i=0;
while ($ligne1=mysql_fetch_array($resultat1))
{
	$recap[$i]['actions_id']=$ligne1['actions_id'];
	$recap[$i]['actions_client']=$ligne1['actions_client'];
	$recap[$i]['actions_agent']=$ligne1['actions_agent'];
	$recap[$i]['actions_cabinet']=$ligne1['actions_cabinet'];
	$recap[$i]['actions_datedepotcab']=$ligne1['actions_datedepotcab'];
	$recap[$i]['actions_dateaction']=$ligne1['actions_dateaction'];
	$recap[$i]['actions_nature']=$ligne1['actions_nature'];
	$recap[$i]['actions_commentairesTPR']=$ligne1['actions_commentairesTPR'];
	$recap[$i]['actions_terrain']=$ligne1['actions_terrain'];
	$i++;
}
$i=0;
while ($ligne2=mysql_fetch_array($resultat2))
{
	$recap2[$i]['07_nomclient']=$ligne2['07_nomclient'];
	$recap2[$i]['07_typeclt']=$ligne2['07_typeclt'];
	$i++;
}
include("impayeshtml.php");
recapactions($recap,$recap2,$type);
}
J'exécute ensuite la fonction recapactions qui me liste l'ensemble des actions faites.
ci-dessous code
Code :
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
function recapactions($recap,$recap2,$type)
{
?>
</br></br></br>
</br></br></br>
 
<fieldset class="pave1">
<div>
 
</br>
<label align="left" id="label">N° Client : </label>
<input value="<?php echo $recap[0]['actions_client'];?>" type="texte" size="6" <?php if ($grise==true){echo 'disabled="disabled"';}?>/>
<label align="left" id="label">Nom Client : </label>
<input value="<?php echo $recap2[0]['07_nomclient'];?>" type="texte" size="50" <?php if ($grise==true){echo 'disabled="disabled"';}?>/>
<label align="left" id="label">Typologie : </label>
<input value="<?php echo $recap2[0]['07_typeclt'];?>" type="texte" size="15" <?php if ($grise==true){echo 'disabled="disabled"';}?>/>
</br></br>
<label align="left" id="label"><?php echo count($recap)." "."actions faites sur le compte client";?></label>
</div>
</fieldset>
</br>
 
<fieldset class="pave1">
<!--<h5>Données SD</h5> -->
<div>
<table >
<form method="post" action="#" target="" >
<tr>
<th id="label" width="auto">Date</th>
<th id="label" width="auto">Nature</th>
<th id="label" width="auto">Cabinet</th>
<th id="label" width="auto">Date Dépôt Cab</th>
<th id="label" width="auto">Commentaire</th>
<th id="label" width="auto">Action faite par</th>
</tr>
 
<?php
 
$choix=array();
 
		for ($i=0;$i<count($recap);$i++)
				{
					?>
					<tr >
					<td id=""><?php echo $recap[$i]['actions_dateaction'];?></td>
					<td id=""><?php echo $recap[$i]['actions_nature'];?></td>
					<td id=""><?php echo $recap[$i]['actions_cabinet'];?></td>
					<td id=""><?php echo $recap[$i]['actions_datedepotcab'];?></td>
					<td id=""><?php echo $recap[$i]['actions_commentairesTPR'];?></td>
					<td id=""><?php echo $recap[$i]['actions_agent'];?></td>
					<td><input name="choix[<?php echo $i;?>]" type="radio" value="<?php if (isset($_POST['choix'][$i])){echo "checked='checked'";
					$choix[$i]=$_POST['choix'][$i];$nature=$recap[$i]['actions_nature'];$id=$recap[$i]['actions_id'];}?>"></input></td>
					</tr>
					<?php
 
				}
				?>
 
</table>
<input align="right" type="submit" value="OK" name="OK"></input>	
</form>	
 
 
<form method="post"  action="<?php echo "impayes.php?action=accueil&type=$type";?>">
<input type="submit" class="boutonM" name="QUITTER" value="QUITTER"/>
</form>	
<?php
if(isset($_POST['OK'])){ ?>
<form method="post"  action="<?php echo "impayes.php?action=supaction&id=$id";?>">
<input type="submit" class="boutonM" name="sup" value="supprimer"/>
</form>	
<?php }
?>
 
</div>	
</fieldset>
<?php
}

Le but est : en cliquant sur le bouton radio, je sélectionne l'action à supprimer, le bouton ok permet de valider l'action à supprimer et je clique ensuite sur le bouton supprimer pour sup l'action sélectionnée.

Mais quand je clique sur le bouton OK, il refait tourner la fonction insertA, du coup je me retrouve avec une action doublée dans ma SGBD.

En fait dans l'url, j'ai l'action isertA de mémoriser.

Quelqu'un a t-il une solution ?
merci d'avance
naroco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 00h45   #2
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
ba c'est un peut normal ton bouton ok est dans ton formulaire d'affichage donc tu renvoi la même page sans tenir compte des info.

soit tu utilise du javascript, soir tu modifie ton bouton ok soit tu revois ta façon de faire.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 16h01   #3
Nouveau Membre du Club
 
Femme
Inscription : janvier 2010
Messages : 78
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2010
Messages : 78
Points : 25
Points : 25
Par défaut javascript

désolée mais je ne connais pas trop le javascript.
Tu peux m'éclairer ?
naroco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h54.


 
 
 
 
Partenaires

Hébergement Web