Souci de modification en php
bugs20007
Messages postés
196
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai créer un petit script admin en PHP ou je peut créer une entrée, la supprimé et la modifier.
Pour créer ou supprimer une entrée cela fonctionne, mais pour modifier ca ne foctionne pas
quand je clic sur modifier, les données part bien dans le fichier formulaire.php mais après modification et cliquer sur envoyer la base n'est pas modifier.
je vous mets le fichier formulaire.php et execute.php
formulaire.php :
<html>
<body>
<?
if($_GET[action] == "modif") {
include("include.php");
$requete = "SELECT * FROM sav WHERE numero=$_GET[num]";
$resultat = mysql_query ($requete, $connection);
$test = mysql_fetch_row($resultat);
list ($numero, $nom, $prenom, $dat, $heure, $tec, $materiel, $pro, $diag, $trav, $etat) = $test;
}
?>
<form name="leformulaire" action="execute.php<?
switch ($_GET[action]) {
case "modif":
echo "?action=modif&num=$_GET[num]";
break;
case "insert":
echo "?action=insert";
break;
}
?>" method="post">
Nom du client :<br>
<input name="nom" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($nom, ENT_QUOTES)."'"; } ?>><br>
prenom :<br>
<input name="prenom" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($prenom, ENT_QUOTES)."'"; } ?>><br>
date d'entrée :<br>
<input name="dat" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($dat, ENT_QUOTES)."'"; } ?>><br>
Heure d'entrée :<br>
<input name="heure" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($heure, ENT_QUOTES)."'"; } ?>><br>
Technicien :<br>
<input name="tec" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($tec, ENT_QUOTES)."'"; } ?>><br>
Description du materiel entrée :<br>
<textarea name="materiel" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($materiel, ENT_QUOTES)."'"; } ?></textarea><br>
Problème déclarer par le client :<br>
<textarea name="pro" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($pro, ENT_QUOTES)."'"; } ?></textarea><br>
Diagnostic du technicien :<br>
<textarea name="diag" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($diag, ENT_QUOTES)."'"; } ?></textarea><br>
Travaux effectué par le technicien :<br>
<textarea name="trav" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($trav, ENT_QUOTES)."'"; } ?></textarea><br>
état du SAV :<br>
<input name="etat" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($etat, ENT_QUOTES)."'"; } ?>>En diagnostic / En réparation / Terminer / Cloturer / En attente<br>
<input type=submit value="envoyer!">
</form>
</body>
</html>
------------------------------------------------------------------------------------------------------------------------------------------------------------------
execute.php :
<?
include("include.php");
?>
<table border=1>
<tr><td><a href='execute1.php'>Mode Adminstrateur complet</a></td></tr>
<tr><td><a href='formulaire.php?action=insert'>ajouter un SAV</a></td></tr>
</table>
<?
$_POST[nom]."<br>";
$_POST[prenom]."<br>";
$_POST[dat]."<br>";
$_POST[heure]."<br>";
$_POST[tec]."<br>";
nl2br(stripslashes($_POST[materiel]))."<br>";
nl2br(stripslashes($_POST[pro]))."<br>";
nl2br(stripslashes($_POST[diag]))."<br>";
nl2br(stripslashes($_POST[trav]))."<br>";
$_POST[etat];
// pour supprimer, modifier, ajouter une entrée
if( $_GET['action'] == "suppr" ) {
$requetesupprime = "DELETE FROM sav WHERE numero='".$_GET['num']."' ";
mysql_query ($requetesupprime, $connection);
} elseif( $_GET[action] == "modif" ) {
$requetemodifier = "UPDATE sav SET numero='$_GET[num]', nom='$_POST[nom]', prenom='$_POST[prenom]', dat='$_POST[dat]', heure='$_POST[heure]', tec='$_POST[tec]', materiel='$_POST[materiel]', pro='$_POST[pro]', diag='$_POST[diag]', trav='$_POST[trav], etat='$_POST[etat]' WHERE numero='$_GET[num]' ";
mysql_query ($requetemodifier, $connection);
} elseif($_GET[action] == "insert" ) {
$requetecreation = "INSERT sav SET numero='', nom='$_POST[nom]', prenom='$_POST[prenom]', dat='$_POST[dat]', heure='$_POST[heure]', tec='$_POST[tec]', materiel='$_POST[materiel]', pro='$_POST[pro]', diag='$_POST[diag]', trav='$_POST[trav]', etat='$_POST[etat]' ";
mysql_query ($requetecreation, $connection);
}
$requete = "SELECT * FROM sav ORDER BY numero DESC";
$resultat = mysql_query ($requete, $connection);
if(isset($_SESSION[variable])) {
?>
<body bgcolor="#eeffff">
<? }
?>
<table align=center border=1>
<?
while ($test = mysql_fetch_row($resultat)) {
list ($numero, $nom, $prenom, $dat, $heure, $tec, $materiel, $pro, $diag, $trav, $etat) = $test;
echo '<tr><td>';
echo $nom;
echo '</td><td>';
echo $etat;
echo '</td><td>';
echo "<a href='execute.php?num=$numero&action=suppr'>Supprimer</a>";
echo '</td><td>';
echo "<a href='formulaire.php?num=$numero&action=modif'>Modifier</a>";
echo '</td></tr>';
}
?>
</table>
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Merci pour votre aide.
J'ai créer un petit script admin en PHP ou je peut créer une entrée, la supprimé et la modifier.
Pour créer ou supprimer une entrée cela fonctionne, mais pour modifier ca ne foctionne pas
quand je clic sur modifier, les données part bien dans le fichier formulaire.php mais après modification et cliquer sur envoyer la base n'est pas modifier.
je vous mets le fichier formulaire.php et execute.php
formulaire.php :
<html>
<body>
<?
if($_GET[action] == "modif") {
include("include.php");
$requete = "SELECT * FROM sav WHERE numero=$_GET[num]";
$resultat = mysql_query ($requete, $connection);
$test = mysql_fetch_row($resultat);
list ($numero, $nom, $prenom, $dat, $heure, $tec, $materiel, $pro, $diag, $trav, $etat) = $test;
}
?>
<form name="leformulaire" action="execute.php<?
switch ($_GET[action]) {
case "modif":
echo "?action=modif&num=$_GET[num]";
break;
case "insert":
echo "?action=insert";
break;
}
?>" method="post">
Nom du client :<br>
<input name="nom" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($nom, ENT_QUOTES)."'"; } ?>><br>
prenom :<br>
<input name="prenom" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($prenom, ENT_QUOTES)."'"; } ?>><br>
date d'entrée :<br>
<input name="dat" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($dat, ENT_QUOTES)."'"; } ?>><br>
Heure d'entrée :<br>
<input name="heure" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($heure, ENT_QUOTES)."'"; } ?>><br>
Technicien :<br>
<input name="tec" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($tec, ENT_QUOTES)."'"; } ?>><br>
Description du materiel entrée :<br>
<textarea name="materiel" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($materiel, ENT_QUOTES)."'"; } ?></textarea><br>
Problème déclarer par le client :<br>
<textarea name="pro" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($pro, ENT_QUOTES)."'"; } ?></textarea><br>
Diagnostic du technicien :<br>
<textarea name="diag" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($diag, ENT_QUOTES)."'"; } ?></textarea><br>
Travaux effectué par le technicien :<br>
<textarea name="trav" cols=35 rows=6><? if($_GET[action]=="modif") { echo "'".htmlentities($trav, ENT_QUOTES)."'"; } ?></textarea><br>
état du SAV :<br>
<input name="etat" type=text length=30 value=<? if($_GET[action]=="modif") { echo "'".htmlentities($etat, ENT_QUOTES)."'"; } ?>>En diagnostic / En réparation / Terminer / Cloturer / En attente<br>
<input type=submit value="envoyer!">
</form>
</body>
</html>
------------------------------------------------------------------------------------------------------------------------------------------------------------------
execute.php :
<?
include("include.php");
?>
<table border=1>
<tr><td><a href='execute1.php'>Mode Adminstrateur complet</a></td></tr>
<tr><td><a href='formulaire.php?action=insert'>ajouter un SAV</a></td></tr>
</table>
<?
$_POST[nom]."<br>";
$_POST[prenom]."<br>";
$_POST[dat]."<br>";
$_POST[heure]."<br>";
$_POST[tec]."<br>";
nl2br(stripslashes($_POST[materiel]))."<br>";
nl2br(stripslashes($_POST[pro]))."<br>";
nl2br(stripslashes($_POST[diag]))."<br>";
nl2br(stripslashes($_POST[trav]))."<br>";
$_POST[etat];
// pour supprimer, modifier, ajouter une entrée
if( $_GET['action'] == "suppr" ) {
$requetesupprime = "DELETE FROM sav WHERE numero='".$_GET['num']."' ";
mysql_query ($requetesupprime, $connection);
} elseif( $_GET[action] == "modif" ) {
$requetemodifier = "UPDATE sav SET numero='$_GET[num]', nom='$_POST[nom]', prenom='$_POST[prenom]', dat='$_POST[dat]', heure='$_POST[heure]', tec='$_POST[tec]', materiel='$_POST[materiel]', pro='$_POST[pro]', diag='$_POST[diag]', trav='$_POST[trav], etat='$_POST[etat]' WHERE numero='$_GET[num]' ";
mysql_query ($requetemodifier, $connection);
} elseif($_GET[action] == "insert" ) {
$requetecreation = "INSERT sav SET numero='', nom='$_POST[nom]', prenom='$_POST[prenom]', dat='$_POST[dat]', heure='$_POST[heure]', tec='$_POST[tec]', materiel='$_POST[materiel]', pro='$_POST[pro]', diag='$_POST[diag]', trav='$_POST[trav]', etat='$_POST[etat]' ";
mysql_query ($requetecreation, $connection);
}
$requete = "SELECT * FROM sav ORDER BY numero DESC";
$resultat = mysql_query ($requete, $connection);
if(isset($_SESSION[variable])) {
?>
<body bgcolor="#eeffff">
<? }
?>
<table align=center border=1>
<?
while ($test = mysql_fetch_row($resultat)) {
list ($numero, $nom, $prenom, $dat, $heure, $tec, $materiel, $pro, $diag, $trav, $etat) = $test;
echo '<tr><td>';
echo $nom;
echo '</td><td>';
echo $etat;
echo '</td><td>';
echo "<a href='execute.php?num=$numero&action=suppr'>Supprimer</a>";
echo '</td><td>';
echo "<a href='formulaire.php?num=$numero&action=modif'>Modifier</a>";
echo '</td></tr>';
}
?>
</table>
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Merci pour votre aide.
A voir également:
- Souci de modification en php
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Modification dns - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
4 réponses
Bonjour,
les données arrivent bien dans fromulaire.php, mais avez-vous fait une trace plus loin ?
allez vous dans le if de elseif( $_GET[action] == "modif" )
si oui avez-vous fait un echo de la requête pour voir la "tête" qu'elle a ?
les données arrivent bien dans fromulaire.php, mais avez-vous fait une trace plus loin ?
allez vous dans le if de elseif( $_GET[action] == "modif" )
si oui avez-vous fait un echo de la requête pour voir la "tête" qu'elle a ?
enfaite quand je clique sur modifier la page formulaire.php s'ouvre bien avec les données dans chaque casse mais quand je modifie les champs et que je valide les infos ne sont pas modifier dans la base, je reviens à la page execute.php et les données n'ont pas etaient modifier.
je n'ai aucun message d'erreur mysql.
je n'ai aucun message d'erreur mysql.
help c'est la galère
personne pour verifier si je n'est pas ecrit ou ajouter des virgules ou il ne faut pas
personne pour verifier si je n'est pas ecrit ou ajouter des virgules ou il ne faut pas
Bonjour,
quelques détails de règles à respecter:
- dans toutes les balises html par exemple <input, tu dois mettre les valeurs des paremètres entre " ou '
exemple:
- dans les $_GET['action'] il faut que action soit entre '
ex:
ensuite quand tu auras bien tout mis ok, tu modifies cette partie pour avoir une trace (provisoirement bien sûr):
@lain
quelques détails de règles à respecter:
- dans toutes les balises html par exemple <input, tu dois mettre les valeurs des paremètres entre " ou '
exemple:
<input name="nom" type="text" length="30" value="<? if($_GET[action]=="modif") { echo "'".htmlentities($nom, ENT_QUOTES)."'"; } ?>"><br> <input type="submit" value="envoyer!">
- dans les $_GET['action'] il faut que action soit entre '
ex:
elseif($_GET['action'] ==
ensuite quand tu auras bien tout mis ok, tu modifies cette partie pour avoir une trace (provisoirement bien sûr):
...... elseif( $_GET['action'] == "modif" ) { echo "Coucou je passe par là<br>";//trace pour voir si on passe bien dans cette condition //la on va voir si on reçoit bien tous les champs modifiés echo "<pre>"; print_r($_POST); echo "</pre>"; $requetemodifier = "UPDATE sav SET........... mysql_query ($requetemodifier, $connection) or die ("Erreur requette modif ".mysql_error()); ......
@lain
recopie ça ainsi (copier coller) pour ne pas te mélanger entre les simples quote et les double quote.
$requetemodifier = "UPDATE sav SET numero='".$_GET[num]."', nom='".$_POST[nom]."', prenom='".$_POST[prenom]."', dat='".$_POST[dat]."', heure='".$_POST[heure]."', tec='".$_POST[tec]."', materiel='".$_POST[materiel]'"., pro='".$_POST[pro]'"., diag='".$_POST[diag]."', trav='".$_POST[trav].", etat='".$_POST[etat]."' WHERE numero='".$_GET[num]."' ";
$requetemodifier = "UPDATE sav SET numero='".$_GET[num]."', nom='".$_POST[nom]."', prenom='".$_POST[prenom]."', dat='".$_POST[dat]."', heure='".$_POST[heure]."', tec='".$_POST[tec]."', materiel='".$_POST[materiel]'"., pro='".$_POST[pro]'"., diag='".$_POST[diag]."', trav='".$_POST[trav].", etat='".$_POST[etat]."' WHERE numero='".$_GET[num]."' ";
première remarque, prend l'habitude de mettre <?php ?> plutôt que <? ?>
à quoi sert çà:
<?
$_POST[nom]."<br>";
$_POST[prenom]."<br>";
$_POST[dat]."<br>";
$_POST[heure]."<br>";
$_POST[tec]."<br>";
nl2br(stripslashes($_POST[materiel]))."<br>";
nl2br(stripslashes($_POST[pro]))."<br>";
nl2br(stripslashes($_POST[diag]))."<br>";
nl2br(stripslashes($_POST[trav]))."<br>";
$_POST[etat];
si tu veux afficher ce que tu reçoit, il faut mettre echo nom: ".$_POST[nom]."<br>"; par exemple
pour un UPDATE il faut une condition sinon quelle entrée doit être modifiée:
mais le numéro ne doit pas être modifiable
UPDATE sav SET nom='$_POST[nom]' .......WHERE numero='$_GET[num]'"
mais la base ne ce modifie pas
j'ai supprimé les $_POST[nom]."<br>";
mais toujours pareil, les modif ne sont pas prise en compte
Merci pour votre aide