Update impossible vers DB
Posté : 24 mars 2008, 20:04
Bonjour,
Dans la partie d'administration de mon site, je peux modifier/éditer les profils. J'ai donc un formulaire qui s'affiche avec les informations de chaques utilisateurs dans des champs d'édition. Je modifie au besoin les champs remplis par les membres puis je clique sur "Update". Mais, voilà, rien ne se met à jour dans la base de données.
J'ai fait un essai sur un serveur php4 et mysql 4, ca fonctionne sans problème.
Mon serveur actuel: PHP 5 / MYSQL 5
Je ne sais pas trop ou chercher étant donné que mes compétences dans le domaines sont plus que limitées. Je vous propose toutefois un morceau de code en espérant qu'une incompatibilité avec php 5 ou mysql 5 soit flagrante.
Dans la partie d'administration de mon site, je peux modifier/éditer les profils. J'ai donc un formulaire qui s'affiche avec les informations de chaques utilisateurs dans des champs d'édition. Je modifie au besoin les champs remplis par les membres puis je clique sur "Update". Mais, voilà, rien ne se met à jour dans la base de données.
J'ai fait un essai sur un serveur php4 et mysql 4, ca fonctionne sans problème.
Mon serveur actuel: PHP 5 / MYSQL 5
Je ne sais pas trop ou chercher étant donné que mes compétences dans le domaines sont plus que limitées. Je vous propose toutefois un morceau de code en espérant qu'une incompatibilité avec php 5 ou mysql 5 soit flagrante.
if (getParam("submit",""))
{
// Update all fields affected
$sql = "update users set ";
foreach ($_REQUEST as $key => $value) {
if ($key<>"submit" AND $key<>"PHPSESSID" AND $key<>"profile" AND $key<>"phpbb2mysql_data"
)
$sql.= "$key='" . $value . "',";
}
$sql=substr($sql,0,-1);
$sql.=" where username='".$_REQUEST["profile"]."'";
$res_ret=query($sql);
echo "<b>Fields updated</b><br>More than " . mysql_affected_rows() . " columns was changed from before.";
}
if (getParam("show",""))
{
echo "<form method='post' action='edit_user.php'>";
echo "<input type='submit' name='submit' value='Update'>";
echo "<input type='hidden' name='profile' value='".$_REQUEST["profile"]."'>";
echo "<table width='95%'>";
$result = query("SHOW COLUMNS FROM users");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row_col = mysql_fetch_assoc($result)) {
//print_r($row_col);
$fieldname=$row_col[Field];
echo "<tr><td>$fieldname</td><td> <input type='text' name='$fieldname' value='".$row["$fieldname"]."'";
if ($fieldname=="username" || $fieldname=="password" || $fieldname=="show")
echo " disabled=disabled";
echo "></td></tr>";
}
}
echo "</table>";
echo "<input type='submit' name='submit' value='Update'>";
echo "</form>";
}
Vous avez une idée ?
en haut à gauche de ce sujet.