Bonjour tout le monde!
Je suis en train de faire une session administrateur de base de données SQL en PHP.
J'ai créé une page "modifyArtist.php" qui affiche l'ensemble des artistes dans un tableau. Jusque là pas de soucis. Chaque ligne de ce tableau (qui correspond chacune à un artiste) possèdent un lien permettant d'ouvrir une popup où des champs de saisies s'affichent afin de permettre la modification.
Je transfert dans l'URL l'id de l'artist afin d'afficher dans les champs de la popup les informations déjà présente dans la base pour ce dernier.
Il y a 4 champs dans la popup dont une liste déroulante. Les deux seuls champs obligatoires sont le nom de l'artiste et sa localité (qui se trouve dans la liste déroulante).
J'ai créé une fonction javascipt "verif_error()" afin de vérifier que ces champs ne sont pas vides.
Apparement elle marche bien et m'affiche un message d'erreur dans une textbox si une des deux est vides.
Mon soucis s'est que lorsque je clique sur le bouton "OK" de la textbox, ma popup se recharge et j'obtiens une erreur SQL car l'id de l'artist à disparue de l'adresse URL...
Pouvez vous m'aidez à y voir plus clair et à corrigé cela?
Voici mon code de la fonction javascript :
function verif_error(){
var error_message = "Error : The following fields must be obligatorily filled: \n\n";
var message = error_message;
var error = 0;
if (document.ModifyArtist.Artist_name.value == ""){
message = message + "The artist's name \n";
error = 1;
}
if (document.ModifyArtist.Artist_locality.value == ""){
message = message + "The artist's locality \n";
error = 1;
}
if(error == 1){
alert(message);
}
}
Et voila celui du formulaire:
<form name="ModifyArtist" onsubmit="return verif_error()" action="modifyArtistpopup.php">
<input type="hidden" name="Artist_id" value="<?php echo($id_artist) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Name : </td>
<td><input type="text" name="Artist_name" value="<?php echo $name_artist ;?>"></td>
</tr>
<tr align="center">
<td>About this artist : </td>
<td><input type="text" name="Artist_about" value="<?php echo $about_artist ;?>"></td>
</tr>
<tr align="center">
<td>Inspiration : </td>
<td><input type="text" name="Artist_inspiration" value="<?php echo $inspiration_artist ;?>"></td>
</tr>
<tr align="center">
<td>Locality : </td>
<td>
<select name="Artist_locality">
<?php
$requete = "SELECT * FROM locality";
$resultat = mysql_query($requete);
echo "<option value=$id_locality_artist>"?><?php echo $locality_artist ;?><?php "</option>";
/*Creation of the locality's list*/
while($row=mysql_fetch_array($resultat)) {
if($row['id_locality'] != $id_locality_artist)
echo "<option value=".$row['id_locality'].">".$row['name_locality']."</option>\n";
}
?>
</select>
</td>
</tr>
</table>
<table border="0" align="center" cellspacing="2" cellpadding="2">
<br><br>
<tr align="center">
<td colspan="2"><input type="submit" name="submit" value="Validation"></td>
</tr>
</table>
</form>
P.S : Les variables présentes dans le formulaires sont récupéré par une requète juste avant.
Merci d'avance
Thorim

