Pb php/mysql
Résolu/Fermé
A voir également:
- Pb php/mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Php natif - Forum PHP
- Mysql gratuit ou payant - Forum MySQL
- Php?id=1 - Forum PHP
7 réponses
Bonjour
Où est le champ nommé 'idcli' dans ton formulaire ?
Sans ça, dans $id=$_POST['idcli']; (c'est ça la ligne 26 ?) l'index 'idcli' n'est effectivement pas défini.
J'ai comme un doute... le script que tu montres est-il bien celui de climodif.php ?
Où est le champ nommé 'idcli' dans ton formulaire ?
Sans ça, dans $id=$_POST['idcli']; (c'est ça la ligne 26 ?) l'index 'idcli' n'est effectivement pas défini.
J'ai comme un doute... le script que tu montres est-il bien celui de climodif.php ?
Merci d'avoir répondue aussi vite le père
Mais à la base idcli c'est une clé primaire auto_incrémenté
je veux pas que l'utilisateur puisse la modifier dans le formulaire
(je sais pas si vous me comprenez)
je pensé en avoir besoin pour ma requête update )=
Mais à la base idcli c'est une clé primaire auto_incrémenté
je veux pas que l'utilisateur puisse la modifier dans le formulaire
(je sais pas si vous me comprenez)
je pensé en avoir besoin pour ma requête update )=
Je n'ai rien contre la fait que idcli soit une clé primaire. Je te demande simplement si le script que tu montres est bien celui de climidif.php
Si oui, comme dans ce formulaire il n'y a pas de <input name='idcli'>, il n'y a aucune variable $_POST['idcli'] et ton message d'erreur est parfaitement normal. Je suppose que tu passes en fait ton id par le $_GET, comme on voit que tu le récupères un peu plus loin (mais trop tard)
De plus, ta mise à jour est incorrecte :
Je suppose que tu voulais faire
(ap passage, pas de () autour de ce qui suit le SET, ni de concaténations inutiles qui rendent le tout difficile à lire)
Si oui, comme dans ce formulaire il n'y a pas de <input name='idcli'>, il n'y a aucune variable $_POST['idcli'] et ton message d'erreur est parfaitement normal. Je suppose que tu passes en fait ton id par le $_GET, comme on voit que tu le récupères un peu plus loin (mais trop tard)
De plus, ta mise à jour est incorrecte :
$req="UPDATE client SET(idcli='".$id."',codeinterne='".$codeinterne."', raisoccli='".$raisoccli."', nomcli='".$nomcli."', precli='".$precli.", adrcli='".$adrcli."',cpcli='".$cpcli."' villecli='".$villecli."', , telcli='".$telcli."', telportcli='".$telportcli."') ";sans 'WHERE', tu vas mettre à jpour TOUS les enregistrement de ta table.
Je suppose que tu voulais faire
$req="UPDATE client SET codeinterne='$codeinterne', raisoccli='$raisoccli', nomcli='$nomcli', precli='$precli', adrcli='$adrcli',cpcli='$cpcli', villecli='$villecli', telcli='$telcli', telportcli='$telportcli' WHERE idcli=$idcli";
(ap passage, pas de () autour de ce qui suit le SET, ni de concaténations inutiles qui rendent le tout difficile à lire)
Après être entré dans ton if(isset($_POST['valider']))
fait simplement un print_r($_POST); pour voir si idcli est bien set
fait simplement un print_r($_POST); pour voir si idcli est bien set
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ah j'avais pas vu que le formulaire était en dessous.
idcli n'est pas dans le formulaire, normal que tu ne l'ai plus à la validation.
de + le passer dans le formulaire, par exemple avec un <input type='hidden' name='idcli' value='<?=$idcli?>' /> c'est pas terrible car il pourra être modifié coté client et modifier une autre fiche client si le gars est mal intentionné.
passe ton idcli en session. $_SESSION['idcli']
idcli n'est pas dans le formulaire, normal que tu ne l'ai plus à la validation.
de + le passer dans le formulaire, par exemple avec un <input type='hidden' name='idcli' value='<?=$idcli?>' /> c'est pas terrible car il pourra être modifié coté client et modifier une autre fiche client si le gars est mal intentionné.
passe ton idcli en session. $_SESSION['idcli']
Probleme resolue je donne la solution pour ceux qui ont le meme probleme que moi ou qui vont le rencontrer :)
<?php
session_start();
include("securite.php");
include ("fondPage.php");
echo '<div id="centre"><center>';
include("Connexion_inc.php");
$idcli=$_GET['idcli'];
if(isset($_POST['valider']))
// premiere partie
{
$test=true;
$codeinterne = $_POST['codeinterne'];
$raisoccli = $_POST['raisoccli'];
$nomcli = $_POST['nomcli'];
$precli = $_POST['precli'];
$adrcli = $_POST['adrcli'];
$cpcli = $_POST['cpcli'];
$villecli = $_POST['villecli'];
$telcli = $_POST['telcli'];
$telportcli = $_POST['telportcli'];
if ($codeinterne==""){
echo "<p align =center> Saisir un code interne";
$test=false;
}
if ($raisoccli==""){
echo "<p align =center> Saisir une raison sociale";
$test=false;
}
if ($nomcli==""){
echo "<p align =center> Saisir un nom ";
$test=false;
}
if ($precli==""){
echo "<p align =center> Saisir un prenom";
$test=false;
}
if ($adrcli==""){
echo "<p align =center> Saisir une adresse";
$test=false;
}
if ($cpcli==""){
echo "<p align =center> Saisir un code postal";
$test=false;
}
if ($villecli==""){
echo "<p align =center> Saisir une ville ";
$test=false;
}
if ($test==true)
{
// insertion des informations du formulaire dans la table
$req="UPDATE client SET codeinterne='".$codeinterne."', raisoccli='".$raisoccli."', nomcli='".$nomcli."', precli='".$precli."', adrcli='".$adrcli."',cpcli='".$cpcli."', villecli='".$villecli."', telcli='".$telcli."', telportcli='".$telportcli."' ";
$req.=" where idcli=".$idcli;
$result=mysql_query($req) or die (" impossible d'executer la req1");
echo "<p align=center> Client modifié !</p>";
echo "<form action='cliliste.php' method='POST' >";
echo '<p align=center><INPUT TYPE=submit NAME=retour VALUE="Retour" >';
}
else
{
echo '<form action="climodif.php?idcli='.$idcli.'" method="POST" enctype="multipart/form-data">';
echo '<p align=center><INPUT TYPE=submit NAME=retour VALUE="Retour" >';
}
}
else
// 2 eme partie
{
echo '<center><form method="POST" action="climodif.php?idcli='.$idcli.'" >';
echo '<table>' ;
$req='select * from client where idcli='.$idcli;
$result= mysql_query($req) or die ("imposible d'excécuter la req2");
$ligne=mysql_fetch_array($result);
echo "<tr><td align=right><label for='codeinterne'>Code client : </label></td><td><input type= text name= codeinterne value='$ligne[1]'/></td><tr>";
echo "<tr><td align=right><label for='raisoccli'>Raison sociale : </label></td><td><input type= text name= raisoccli value='$ligne[2]'/></td></tr>";
echo "<tr><td align=right><label for='nomcli'>Nom : </label></td><td><input type= text name= nomcli value='$ligne[3]'/></td></tr>";
echo "<tr><td align=right><label for='precli'>Prenom : </label></td><td><input type= text name= precli value='$ligne[4]'/></td></tr>";
echo "<tr><td align=right><label for='adrcli'>Adresse : </label></td><td><input type= text name= adrcli value='$ligne[5]'/></td></tr>";
echo "<tr><td align=right><label for='villecli'>Ville : </label></td><td><input type= text name= villecli value='$ligne[7]'/></td></tr>";
echo "<tr><td align=right><label for='cpcli'>Code postale: </label></td><td><input type= text name= cpcli value='$ligne[6]'/></td></tr>";
echo "<tr><td align=right><label for='telcli'>Tel fix : </label></td><td><input type= text name= telcli value='$ligne[8]'/></td></tr>";
echo "<tr><td align=right><label for='telportcli'>Tel port: </label></td><td><input type= text name= telportcli value='$ligne[9]'/></td></tr>";
echo '<tr><td align=right><label for="typcli">Type de client : </label></td>';
$req="SELECT * FROM typeclient order by libtypecli";
$result=mysql_query($req) or die (" impossible d'executer la req");
echo '<td><select name="typcli" >';
{
while ($row=mysql_fetch_array($result))
echo "<option>".$row['libtypecli']."</option>";
}
echo '</select></td></tr>';
echo '</table><br /><br />' ;
echo '<input type="submit" name="valider" value="Valider">';
echo '<input type="button" name="retour" value="Retour" onclick=self.location.href="cliliste.php">';
echo '</form></center>';
}
<?php
session_start();
include("securite.php");
include ("fondPage.php");
echo '<div id="centre"><center>';
include("Connexion_inc.php");
$idcli=$_GET['idcli'];
if(isset($_POST['valider']))
// premiere partie
{
$test=true;
$codeinterne = $_POST['codeinterne'];
$raisoccli = $_POST['raisoccli'];
$nomcli = $_POST['nomcli'];
$precli = $_POST['precli'];
$adrcli = $_POST['adrcli'];
$cpcli = $_POST['cpcli'];
$villecli = $_POST['villecli'];
$telcli = $_POST['telcli'];
$telportcli = $_POST['telportcli'];
if ($codeinterne==""){
echo "<p align =center> Saisir un code interne";
$test=false;
}
if ($raisoccli==""){
echo "<p align =center> Saisir une raison sociale";
$test=false;
}
if ($nomcli==""){
echo "<p align =center> Saisir un nom ";
$test=false;
}
if ($precli==""){
echo "<p align =center> Saisir un prenom";
$test=false;
}
if ($adrcli==""){
echo "<p align =center> Saisir une adresse";
$test=false;
}
if ($cpcli==""){
echo "<p align =center> Saisir un code postal";
$test=false;
}
if ($villecli==""){
echo "<p align =center> Saisir une ville ";
$test=false;
}
if ($test==true)
{
// insertion des informations du formulaire dans la table
$req="UPDATE client SET codeinterne='".$codeinterne."', raisoccli='".$raisoccli."', nomcli='".$nomcli."', precli='".$precli."', adrcli='".$adrcli."',cpcli='".$cpcli."', villecli='".$villecli."', telcli='".$telcli."', telportcli='".$telportcli."' ";
$req.=" where idcli=".$idcli;
$result=mysql_query($req) or die (" impossible d'executer la req1");
echo "<p align=center> Client modifié !</p>";
echo "<form action='cliliste.php' method='POST' >";
echo '<p align=center><INPUT TYPE=submit NAME=retour VALUE="Retour" >';
}
else
{
echo '<form action="climodif.php?idcli='.$idcli.'" method="POST" enctype="multipart/form-data">';
echo '<p align=center><INPUT TYPE=submit NAME=retour VALUE="Retour" >';
}
}
else
// 2 eme partie
{
echo '<center><form method="POST" action="climodif.php?idcli='.$idcli.'" >';
echo '<table>' ;
$req='select * from client where idcli='.$idcli;
$result= mysql_query($req) or die ("imposible d'excécuter la req2");
$ligne=mysql_fetch_array($result);
echo "<tr><td align=right><label for='codeinterne'>Code client : </label></td><td><input type= text name= codeinterne value='$ligne[1]'/></td><tr>";
echo "<tr><td align=right><label for='raisoccli'>Raison sociale : </label></td><td><input type= text name= raisoccli value='$ligne[2]'/></td></tr>";
echo "<tr><td align=right><label for='nomcli'>Nom : </label></td><td><input type= text name= nomcli value='$ligne[3]'/></td></tr>";
echo "<tr><td align=right><label for='precli'>Prenom : </label></td><td><input type= text name= precli value='$ligne[4]'/></td></tr>";
echo "<tr><td align=right><label for='adrcli'>Adresse : </label></td><td><input type= text name= adrcli value='$ligne[5]'/></td></tr>";
echo "<tr><td align=right><label for='villecli'>Ville : </label></td><td><input type= text name= villecli value='$ligne[7]'/></td></tr>";
echo "<tr><td align=right><label for='cpcli'>Code postale: </label></td><td><input type= text name= cpcli value='$ligne[6]'/></td></tr>";
echo "<tr><td align=right><label for='telcli'>Tel fix : </label></td><td><input type= text name= telcli value='$ligne[8]'/></td></tr>";
echo "<tr><td align=right><label for='telportcli'>Tel port: </label></td><td><input type= text name= telportcli value='$ligne[9]'/></td></tr>";
echo '<tr><td align=right><label for="typcli">Type de client : </label></td>';
$req="SELECT * FROM typeclient order by libtypecli";
$result=mysql_query($req) or die (" impossible d'executer la req");
echo '<td><select name="typcli" >';
{
while ($row=mysql_fetch_array($result))
echo "<option>".$row['libtypecli']."</option>";
}
echo '</select></td></tr>';
echo '</table><br /><br />' ;
echo '<input type="submit" name="valider" value="Valider">';
echo '<input type="button" name="retour" value="Retour" onclick=self.location.href="cliliste.php">';
echo '</form></center>';
}