Mise a jour bd tout ok sauf si modification de l'element passe par URL ...

Résolu
Signaler
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Voila je n'ai plus qu'un gros probleme dans mon script, je vous l'explique en quelque mot et si possible le plus clair possibe.

Je fais une recherche sur un nom de client. le nom s'affihe ( si jean peti et peti jean = 2 nom different et je fait une recherche sur piti, les 2 s'affiche).
Je peux clique sur le nom correcte qui m'interrese, et la je tombe sur une fiche avec toute ces donnes.

Sur cette fiche je peux modifier ce qu'il me plais, et a la fin j'ai la possibilite de l'enregistrer dans ma base ( attention UPDATE, donc je rajoute pas une ligne dans ma base je la modifie.)

Mais voila je peux modifier tout ce que je veux et enregistrer apres, ca fonctionne, mais si je modifie l'adresse ca va pas.

Il faut savoir, que je passe l'adresse par URL. Et je vois pas ou peut etre mon erreur.

J'espere avoir ete clair dans ma description. si quelqu'un pouvais m'aider se serai genial. Merci a vous

6 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$addr=$tableau['adresse']; // ici est ce que $addr contient qqe chose ?




<form method="post" name="form" id="form" action="ajoutclientDB.php?var=<?php echo $addr;?>">

la je ne comprends pas bien puisque tu l'as dans




<?echo "";?>



<?

echo "
";

?> // essaie comme ça




tu recuperes dans


$adresse = $_POST["adresse"];



et c'est bien $adresse que tu mets à jour
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
ce serait bien de voir le code
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009

En refesant des test, c'est en modifiant tout que j'ai une erreur, si je modifier tout sauf n'imorte lequel des elements je n'ai pas de probleme ... j'y comprend rien c'est po logique

heu c'est que c'est long le code ... vers 400 ligne
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
juste le code du formulaire et l'envoi des données

là je ne suis pas devin !
Messages postés
117
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2009

<?php


$BD_serveur = "localhost";


$BD_utilisateur = "root";


$BD_motDePasse = "";


$BD_base = "dit";


mysql_connect("localhost", "root", "");


mysql_select_db("dit");


$requete="SELECT nom, telephone, gsm, adresse, village,


tva, mail, facturation, devis, urgence, description, motdepasse,


accessoire,resolution, sauvegarde, formatage, gar, instal, maintenance,


reception FROM client WHERE nom = '".$_GET['var']."'";


$sql = mysql_query($requete) or die("Erreur dans la requete: " . mysql_error());


$tableau=mysql_fetch_array($sql);


$nom=$tableau['nom'];


$addr=$tableau['adresse'];


$tel=$tableau['telephone'];


$gsm=$tableau['gsm'];


$ville=$tableau['village'];


$tva=$tableau['tva'];


$mail=$tableau['mail'];


$urgence=$tableau['urgence'];


$description = $tableau['description'];


$accessoire = $tableau['accessoire'];


$formatage=$tableau['formatage'];


$sauvegarde=$tableau['sauvegarde'];


$maintenance=$tableau['maintenance'];


$gar=$tableau['gar'];


$instal=$tableau['instal'];


$resolution=$tableau['resolution'];


$motdepasse=$tableau['motdepasse'];


$reception=$tableau['reception'];


$facturation=$tableau['facturation'];


$devis=$tableau['devis'];


?>


<html>




<title>.::DIT::.</title>


<head> <center> Donnée du client dans la DIT possibilité de mise a jours! </center></head>


<form method ="post" name= "form" id="form" action="ajoutclientDB.php?var=<?php echo $addr;?>">


Nom Client : ,

<? $nom = $_GET['var'];

echo "";?>

<!---->

,

<!-- ----

Nom Client :,

,

-->

----

Adresse Client :,

<!---->

<?echo "";?>,

----

Ville :,

<?echo "";?>

<!---->,

----

TVA :,

<?echo "";?>

<!---->,

----

Telephone :,

<?echo "";?>

<!---->,

----

GSM :,

<?echo "";?>

<!---->,

----

Mail :,

<?echo "";?>

<!---->,

----

Facturation :,

>

(cocher si oui decocher si non)

<!-- > Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non -->,

&nbsp;,

----

Devis :,

>

(cocher si oui decocher si non)

<!-- Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non -->,

&nbsp;,

----

>

<!---->

Traitement D'urgence(75&euro;/h HTVA),

,

<!------

Traitement D'urgence(75&euro;/h HTVA),

Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non,

&nbsp;,

-->

----

Description PC :,

----

<textarea name="description" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="description"><?=$description ?></textarea>

<!--<textarea name="description" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="description"></textarea>-->,

----

Accessoires Fournis :,

----

<textarea name="accessoire" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="accessoire"><?=$accessoire ?></textarea>

<!--<textarea name="accessoire" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="accessoire"></textarea>-->,

----

Mots De Passe :,

&nbsp;,

----

<textarea name="motdepasse" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="motdepasse"><?=$motdepasse ?></textarea>

<!--<textarea name="motdepasse" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="motdepasse"></textarea>-->,

----

Travail &agrave; effectuer
,

----

R&eacute;solution de Probl&egrave;mes :,

&nbsp;,

----

<textarea name="resolution" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="resolution"><?=$resolution ?></textarea>

<!--<textarea name="resolution" cols="70" rows="6" wrap="VIRTUAL" class="champ" id="resolution"></textarea>-->,

----

>

<!-- -->

Sauvegarde obligatoire,

----

>

<!---->

Formattage autoris&eacute;,

<!--

----

Sauvegarde obligatoire,

Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non,

&nbsp;,

----

Formatage autorisé,

Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non,

&nbsp;,

-->

----

Installations Soft & matos :,

&nbsp;,

----

<textarea name="instal" cols="70" rows="3" wrap="VIRTUAL" class="champ" id="instal"><?=$instal ?></textarea>

<!--<textarea name="instal" cols="70" rows="4" wrap="VIRTUAL" class="champ" id="instal"></textarea>-->,

----

>

<!---->

Machine Acura (-20%),

----

>

<!---->

Garantie <!--(aucun frais faire dit différente pour hors garantie)-->,

<!--

----

Machine Acura :,

Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non,

&nbsp;,

----

Garantie,

Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Non,

&nbsp;,

-->

----

D&eacute;lai <!--(yyyy-mm-dd hh:mm:ss)-->:

Automatique (1 jour en Express, 3 &agrave; 5 en Normal),

&nbsp;,

----

----

Reception:

<select name="reception" id="select" >

<? echo " <option>$reception</option>"; ?>

<option value='Gaëtan' >Gaëtan</option><option value='Herve' >Herve</option><option value='Sebastien' >Sebastien</option><option value='Amaury' >Amaury</option><option value='Nicolas' >Nicolas</option><option value='Michael' >Michael</option><option value='Daniel' >Daniel</option><option value='Olivier' >Olivier</option>

</select>,

----
----
,

&nbsp;


</form>




</html>



le fichier ajouterclientDB.PHP


<?php


//include("connect.php");


// Paramètres de connexion à la base de données


$BD_serveur = "localhost";


$BD_utilisateur = "root";


$BD_motDePasse = "";


$BD_base = "dit";


$nom = $_POST["nom"];


$adresse = $_POST["adresse"];


$tva = $_POST["tva"];


$village = $_POST["village"];


$telephone = $_POST["telephone"];


$gsm = $_POST["gsm"];


$mail = $_POST["mail"];


$facturation = isset ($_POST["facturation"]) ? 1 : 0;


$devis = isset($_POST["devis"]) ? 1 : 0;


//$urgence = $_POST["urgence"];


$urgence = isset($_POST['urgence']) ? 1 : 0;


$description = $_POST["description"];


$accessoire = $_POST["accessoire"];


$resolution = $_POST["resolution"];


$motdepasse = $_POST["motdepasse"];


$instal = $_POST["instal"];


//$sauvegarde = $_POST["sauvegarde"];


$sauvegarde = isset($_POST['sauvegarde']) ? 1 : 0;


$formatage = isset($_POST['formatage']) ? 1 : 0;


//$formatage = $_POST["formatage"];


//$garantie = $_POST["garantie"];


$gar = isset($_POST['gar']) ? 1 : 0;


$maintenance = isset($_POST['maintenance']) ? 1 : 0 ;


$reception = $_POST["reception"];


$aroba = strpos($mail,"@");


$point = strpos($mail,".");


if(($aroba=='') || ($point==''))


{


echo " email invalide : pas de @ ou de . ";


}


@mysql_connect($BD_serveur, $BD_utilisateur, $BD_motDePasse)


or die("Impossible de se connecter au serveur de bases de données.");


@mysql_select_db($BD_base)


or die("Impossible de se connecter à la base de données.");


$requete = "UPDATE client SET nom='$nom', adresse='$adresse', village='$village',dateheure=NOW(), tva='$tva',


telephone='$telephone',gsm='$gsm',mail='$mail',facturation='$facturation',devis='$devis',


urgence='$urgence',description='$description',accessoire='$accessoire',resolution='$resolution',


motdepasse='$motdepasse',instal='$instal',sauvegarde='$sauvegarde',formatage='$formatage',


gar='$gar',maintenance='$maintenance',reception='$reception' WHERE adresse= '".$_GET['var']."'";


$result = @mysql_query($requete);


$idclient=mysql_insert_id();


if (!$result) {


echo "L'enregistrement de vos données a échoué. Essayez plus tard.";


} else {


echo "OK";


?>


" target="_blank">

Imprimer feuille ,

----

Demande

d'Intervention Technique
,

----

&nbsp;,

&nbsp;,

&nbsp;,

&nbsp;,

----

&nbsp;,

Num&eacute;ro d'intervention

: <? echo $idclient; ?>,

----

&nbsp;,

Nom

: <? echo $nom; ?>,

Tél

: <?echo "$telephone";?>,

&nbsp;,

----

&nbsp;,

Adresse

: <?echo $adresse;?>,

Gsm

: <?echo "$gsm";?>,

&nbsp;,

----

&nbsp;,

CP

Ville : <?echo $village; ?>,

E-mail

: <?echo "$mail";?>,

&nbsp;,

----

&nbsp;,

Express: <?

if ($urgence)

echo "";

?>,

TVA

: <?echo "$tva";?>,

&nbsp;,

----

&nbsp;,

&nbsp;,

&nbsp;,

&nbsp;,

----

&nbsp;,

Description du matériel déposé :,

----

&nbsp;,

<? $description = nl2br ($description); echo $description;

?>,

----

&nbsp;,

Accessoires Fournis :,

----

&nbsp;,

<?

$accessoire = nl2br ($accessoire); echo $accessoire;

?>,

----

&nbsp;,

Travail à affectuer / Nature du problème : ,

----

&nbsp;,

<? $resolution = nl2br ($resolution); echo $resolution;?>

<? $instal = nl2br ($instal);echo $instal;?>,

----

Remarques

:

,

&nbsp;,

&nbsp;,

----

&nbsp;,

Le

Client est tenu d'effectuer la sauvegarde de ses données. Acura sprl

ne pourra, en aucun cas, être tenue responsable de leur perte. Réparations

effectuées d'office jusqu'à 50 ? tvac. Au-delà,

un devis est effectué. En cas de refus de ce devis un forfait de

20 ? est facturé au client. Le Client doit obligatoirement fournir

la preuve de sa garantie lors du dépôt. A défaut, Acura

sprl sera en droit de facturer ses prestations et fournitures. Si aucune

anomalie n'est constatée lors de la réparation sous garantie,

des frais administratifs de 20 ? sont facturés au Client. Le

matériel devra être enlevé endéans les 90 jours

de l'avis d'enlèvement, sans quoi Acura sprl se réserve le

droit de disposer du matériel comme bon lui semble, sans aucune responsabilité

de sa part.,

----

RECEPTION

:

,

&nbsp;,

&nbsp;,

----

&nbsp;,

Nom

:

<?

echo $reception;

?>,

&nbsp;,

&nbsp;,

----

&nbsp;,

Signature

:

,

,

&nbsp;


<?


}


mysql_close(); // Déconnexion de MySQL


?>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

tu vois un exemple de programmation à problèmes ;-)

si j'étais toi je passerais par un id unique (surement existant dans ta base) pour tout mettre à jour, et je passerai les données en post et non en get, ça sera plus simple et plus de risque d'erreur...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>