PB requête sur onClick()
Résolu
liadea
Messages postés
127
Date d'inscription
Statut
Membre
Dernière intervention
-
liadea Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
liadea Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me permets de faire appel à vous car après une matinée de recherche et toute une batterie de tests je n'arrive toujours pas à faire fonctionner l'insertion de mes données saisies dans ma base de données après avoir cliquer sur un bouton valider.
Petite précision, je souhaiterai si possible ne pas utiliser AJAX.
Code :
Il y a un script de vérification de la saisie au dessus mais ça c'est réglé
FORMULAIRE AVEC CHAMPS TEXT A SAISIR
<body onLoad="document.forms['ajout'].elements['netbios'].focus()">
<form action="ua.php" name="ajout" method="post" id="ajout" onSubmit="return (verif_form(this))">
<br/>
<td><input type="text" id="netbios" name="netbios"/></td>
<td><input type="text" id="source" name="source"/></td>
<td><input type="text" id="ip" name="ip"/></td>
<td><input type="text" id="mail" name="mail"/></td>
<td><input type="text" id="entite" name="entite"/></td>
<td><input type="text" id="site" name="site"/></td>
BOUTON VALIDER
<td><input type="submit" id="valid" name="valid" value="Valider" onClick="InsertUa(this)"/></td>
</form>
<table>
<br/>
<td><center><INPUT TYPE="button" name="notif" VALUE="Liste UA" onclick=window.location.reload('ua.php')></center></td>
</table>
VERIFICATION DES CHAMPS
<?php
if (isset($_POST['netbios']) ) {
$netbios = $_POST['netbios'];
}
if (isset($_POST['source']) ) {
$source = $_POST['source'];
}
if (isset($_POST['ip']) ) {
$ip = $_POST['ip'];
}
if (isset($_POST['mail']) ) {
$mail = $_POST['mail'];
}
if (isset($_POST['entite']) ) {
$entite = $_POST['entite'];
}
if (isset($_POST['site']) ) {
$site = $_POST['site'];
}
?>
FONCTION AVEC REQUETE INSERT
<script>
function InsertUa(thisForm) {
if (thisForm.valid.click()) {
<?php $isrt = "INSERT INTO ua (NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE) VALUES ('$netbios','$source','$ip','$mail','$entite','$site')";
$rslt = mysql_query($isrt) or die('Erreur SQL !'.$isrt.'<br>'.mysql_error());
echo"$result";?>
}
}
</script>
Si quelqu'un à le temps et constate une erreur ou à une autre idée merci d'avance !
Je me permets de faire appel à vous car après une matinée de recherche et toute une batterie de tests je n'arrive toujours pas à faire fonctionner l'insertion de mes données saisies dans ma base de données après avoir cliquer sur un bouton valider.
Petite précision, je souhaiterai si possible ne pas utiliser AJAX.
Code :
Il y a un script de vérification de la saisie au dessus mais ça c'est réglé
FORMULAIRE AVEC CHAMPS TEXT A SAISIR
<body onLoad="document.forms['ajout'].elements['netbios'].focus()">
<form action="ua.php" name="ajout" method="post" id="ajout" onSubmit="return (verif_form(this))">
<br/>
<td><input type="text" id="netbios" name="netbios"/></td>
<td><input type="text" id="source" name="source"/></td>
<td><input type="text" id="ip" name="ip"/></td>
<td><input type="text" id="mail" name="mail"/></td>
<td><input type="text" id="entite" name="entite"/></td>
<td><input type="text" id="site" name="site"/></td>
BOUTON VALIDER
<td><input type="submit" id="valid" name="valid" value="Valider" onClick="InsertUa(this)"/></td>
</form>
<table>
<br/>
<td><center><INPUT TYPE="button" name="notif" VALUE="Liste UA" onclick=window.location.reload('ua.php')></center></td>
</table>
VERIFICATION DES CHAMPS
<?php
if (isset($_POST['netbios']) ) {
$netbios = $_POST['netbios'];
}
if (isset($_POST['source']) ) {
$source = $_POST['source'];
}
if (isset($_POST['ip']) ) {
$ip = $_POST['ip'];
}
if (isset($_POST['mail']) ) {
$mail = $_POST['mail'];
}
if (isset($_POST['entite']) ) {
$entite = $_POST['entite'];
}
if (isset($_POST['site']) ) {
$site = $_POST['site'];
}
?>
FONCTION AVEC REQUETE INSERT
<script>
function InsertUa(thisForm) {
if (thisForm.valid.click()) {
<?php $isrt = "INSERT INTO ua (NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE) VALUES ('$netbios','$source','$ip','$mail','$entite','$site')";
$rslt = mysql_query($isrt) or die('Erreur SQL !'.$isrt.'<br>'.mysql_error());
echo"$result";?>
}
}
</script>
Si quelqu'un à le temps et constate une erreur ou à une autre idée merci d'avance !
A voir également:
- PB requête sur onClick()
- Erreur de requete facebook - Forum Facebook
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
- Erreur d'exécution de la requete erreur inconnue - Forum Logiciels
28 réponses
Pade modifier.php : page contenant formulaire avec récupération des données du tableau dans des champs textes après avoir cliquer sur bouton modifier de la ligne du tableau
<?php
include_once "/connect.php";
$id_connect = exec_connect();
?>
<html>
<head>
<title>Modifier UA</title>
<center>
<font face="arial">
<caption><h3><i>MODIFIER UA</h3></caption><br/><br/>
<table align="center" border='1' style="font-size:13px">
<tr>
<td><center><b> NOM NETBIOS </b></center></td>
<td><center><b> SOURCE MAJ </b></center></td>
<td><center><b> ADRESSE IP </b></center></td>
<td><center><b> EMAIL ENTITE</b></center></td>
<td><center><b> ENTITE </b></center></td>
<td><center><b> SITE </b></center></td>
</tr>
<br/><br/>
<script type="text/javascript">
// Fonction vérification saisie des champs du formulaire
function verif_form(thisForm){
alert('fonction verif form');
//verif champ netbios si vide
if(thisForm.netbios.value == '') {
alert('Le champ netbios doit être rempli');
thisForm.netbios.focus();
return false;
}
//verif champ netbios si pas numérique
if(!isNaN(thisForm.netbios.value)) {
alert('Le champ netbios doit pas être avec chiffres');
thisForm.netbios.focus();
return false;
}
//verif champ source si vide
if(thisForm.source.value == '') {
alert('Le champ source doit être rempli');
thisForm.source.focus();
return false;
}
var url = thisForm.source.value;
var reg_url =/^[a-zA-Z0-9_-]+[a-zA-Z0-9-][a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/
if (reg_url.exec(url)==null) {
alert('Source incorrecte');
thisForm.source.focus();
return false;
}
//verif champ ip si vide
if(thisForm.ip.value == '') {
alert('Le champ ip doit être rempli');
thisForm.ip.focus();
return false;
}
var ip = thisForm.ip.value;
var reg= /^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}$/
if (reg.exec(ip)==null){
alert('Adresse IP incorrecte');
thisForm.ip.focus();
return false;
}
//verif champ mail
if (thisForm.mail.value == '') {
alert('Le champ mail doit être rempli');
thisForm.mail.focus();
return false;
}
var email = thisForm.mail.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
if (verif.exec(email) == null){
alert('Votre email est incorrect');
thisForm.mail.focus();
return false;
}
//verif champ entite si vide
if(thisForm.entite.value == '') {
alert('Le champ entite doit être rempli');
thisForm.entite.focus();
return false;
}
var ent = thisForm.entite.value;
var check = /^[a-zA-Z0-9_-]{1,6}[-][a-zA-Z0-9_-]{1,}$/
if(check.exec(ent) == null) {
alert('saisie entite incorrecte');
thisForm.entite.focus();
return false;
}
//verif champ entite si pas numérique
if(!isNaN(thisForm.entite.value)) {
alert('Le champ entite doit pas être avec chiffres');
thisForm.entite.focus();
return false;
}
//verif champ site si vide
if(thisForm.site.value == '') {
alert('Le champ site doit être rempli');
thisForm.site.focus();
return false;
}
//verif champ site si pas numérique
if(!isNaN(thisForm.site.value)) {
alert('Le champ site doit pas être avec chiffres');
thisForm.site.focus();
return false;
}
return true;
}
</script>
</head>
<?php
////////// MODIFICATION
if( isset($_GET['action']) && ($_GET['action'] == "modifier") ){
$ref=$_GET['ref'];
$query = "SELECT NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE FROM ua WHERE AdresseIP='".$ref."' ";
$result = mysql_query($query) or die("Erreur dans l'extraction des informations<br>".mysql_error());
$UA=mysql_fetch_assoc($result);
?>
<body onLoad="document.forms['modifier'].elements['netbios'].focus()">
<form name="modifier" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="return (verif_form(this))">
<br/>
<td><input type="text" name="netbios" id="netbios" value="<?php echo $UA['NomNetbios']; ?>" /></td>
<td><input type="text" name="source" id="source" value="<?php echo $UA['SourceMAJ']; ?>" /></td>
<td><input type="text" name="ip" id="ip" value="<?php echo $UA['AdresseIP']; ?>" /></td>
<td><input type="text" name="mail" id="mail" value="<?php echo $UA['EmailENTITE']; ?>" /></td>
<td><input type="text" name="entite" id="entite" value="<?php echo $UA['ENTITE']; ?>" /></td>
<td><input type="text" name="site" id="site" value="<?php echo $UA['SITE']; ?>" /></td>
<td><input type="hidden" name="AdresseIP_hidden" value="<?php echo $UA['AdresseIP']; ?>"/></td> <!-- champ cache -->
</form>
<?php } ?>
<table>
<br/><br/>
<td><input type="submit" id="modifier_UA" name="modifier_UA" value="Enregistrer les modifications pour cet UA" style="font-size:13px" /></td>
<table>
<br/>
<td><center><INPUT TYPE="button" name="notif" VALUE="Liste UA" onclick="location.replace('ua.php');" style="font-size:13px"/></center></td>
</table>
</body>
<?php
echo"entrée requête pour update";
//modification dans la table
if(isset($_POST['modifier_UA'])){
echo"clique pour update";
$query = "UPDATE ua SET NomNetbios='".$_POST['netbios']."', SourceMAJ='".$_POST['source']."' , AdresseIP='".$_POST['ip']."' , EmailENTITE='".$_POST['mail']."' , ENTITE='".$_POST['entite']."' , SITE='".$_POST['site']."' WHERE AdresseIP='".$_POST['AdresseIP_hidden']."' " ;
$upd = mysql_query($query) or die("ErreurUpdate ".mysql_error());
echo " Modif dans la base reussie pour l'UA: ".$_POST['AdresseIP_hidden'];
if($upd){
echo " Modif dans la base reussie pour l'UA: ".$_POST['AdresseIP_hidden'];
//header('Location:ua.php'); //c'est à dire la page dans laquelle tu as la requette et l'affichage de ton tableau initial
}else{
echo "Pb Modif dans la base ";
}
}
/////////SUPPRESSION
if(isset($_GET['action']) && $_GET['action'] == "supprimer"){
$ref=$_GET['ref'];
$query = "DELETE FROM ua WHERE AdresseIP='".$ref."'" ;
$del= mysql_query($query) or die("ErreurUpdate ".mysql_error());
if($del){
echo"test sur resultat delete";
//header('Location:ua.php');
}else{
echo "Pb Suppression dans la base ";
}
}
mysql_close($id_connect);
?>
<?php
include_once "/connect.php";
$id_connect = exec_connect();
?>
<html>
<head>
<title>Modifier UA</title>
<center>
<font face="arial">
<caption><h3><i>MODIFIER UA</h3></caption><br/><br/>
<table align="center" border='1' style="font-size:13px">
<tr>
<td><center><b> NOM NETBIOS </b></center></td>
<td><center><b> SOURCE MAJ </b></center></td>
<td><center><b> ADRESSE IP </b></center></td>
<td><center><b> EMAIL ENTITE</b></center></td>
<td><center><b> ENTITE </b></center></td>
<td><center><b> SITE </b></center></td>
</tr>
<br/><br/>
<script type="text/javascript">
// Fonction vérification saisie des champs du formulaire
function verif_form(thisForm){
alert('fonction verif form');
//verif champ netbios si vide
if(thisForm.netbios.value == '') {
alert('Le champ netbios doit être rempli');
thisForm.netbios.focus();
return false;
}
//verif champ netbios si pas numérique
if(!isNaN(thisForm.netbios.value)) {
alert('Le champ netbios doit pas être avec chiffres');
thisForm.netbios.focus();
return false;
}
//verif champ source si vide
if(thisForm.source.value == '') {
alert('Le champ source doit être rempli');
thisForm.source.focus();
return false;
}
var url = thisForm.source.value;
var reg_url =/^[a-zA-Z0-9_-]+[a-zA-Z0-9-][a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/
if (reg_url.exec(url)==null) {
alert('Source incorrecte');
thisForm.source.focus();
return false;
}
//verif champ ip si vide
if(thisForm.ip.value == '') {
alert('Le champ ip doit être rempli');
thisForm.ip.focus();
return false;
}
var ip = thisForm.ip.value;
var reg= /^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}$/
if (reg.exec(ip)==null){
alert('Adresse IP incorrecte');
thisForm.ip.focus();
return false;
}
//verif champ mail
if (thisForm.mail.value == '') {
alert('Le champ mail doit être rempli');
thisForm.mail.focus();
return false;
}
var email = thisForm.mail.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
if (verif.exec(email) == null){
alert('Votre email est incorrect');
thisForm.mail.focus();
return false;
}
//verif champ entite si vide
if(thisForm.entite.value == '') {
alert('Le champ entite doit être rempli');
thisForm.entite.focus();
return false;
}
var ent = thisForm.entite.value;
var check = /^[a-zA-Z0-9_-]{1,6}[-][a-zA-Z0-9_-]{1,}$/
if(check.exec(ent) == null) {
alert('saisie entite incorrecte');
thisForm.entite.focus();
return false;
}
//verif champ entite si pas numérique
if(!isNaN(thisForm.entite.value)) {
alert('Le champ entite doit pas être avec chiffres');
thisForm.entite.focus();
return false;
}
//verif champ site si vide
if(thisForm.site.value == '') {
alert('Le champ site doit être rempli');
thisForm.site.focus();
return false;
}
//verif champ site si pas numérique
if(!isNaN(thisForm.site.value)) {
alert('Le champ site doit pas être avec chiffres');
thisForm.site.focus();
return false;
}
return true;
}
</script>
</head>
<?php
////////// MODIFICATION
if( isset($_GET['action']) && ($_GET['action'] == "modifier") ){
$ref=$_GET['ref'];
$query = "SELECT NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE FROM ua WHERE AdresseIP='".$ref."' ";
$result = mysql_query($query) or die("Erreur dans l'extraction des informations<br>".mysql_error());
$UA=mysql_fetch_assoc($result);
?>
<body onLoad="document.forms['modifier'].elements['netbios'].focus()">
<form name="modifier" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="return (verif_form(this))">
<br/>
<td><input type="text" name="netbios" id="netbios" value="<?php echo $UA['NomNetbios']; ?>" /></td>
<td><input type="text" name="source" id="source" value="<?php echo $UA['SourceMAJ']; ?>" /></td>
<td><input type="text" name="ip" id="ip" value="<?php echo $UA['AdresseIP']; ?>" /></td>
<td><input type="text" name="mail" id="mail" value="<?php echo $UA['EmailENTITE']; ?>" /></td>
<td><input type="text" name="entite" id="entite" value="<?php echo $UA['ENTITE']; ?>" /></td>
<td><input type="text" name="site" id="site" value="<?php echo $UA['SITE']; ?>" /></td>
<td><input type="hidden" name="AdresseIP_hidden" value="<?php echo $UA['AdresseIP']; ?>"/></td> <!-- champ cache -->
</form>
<?php } ?>
<table>
<br/><br/>
<td><input type="submit" id="modifier_UA" name="modifier_UA" value="Enregistrer les modifications pour cet UA" style="font-size:13px" /></td>
<table>
<br/>
<td><center><INPUT TYPE="button" name="notif" VALUE="Liste UA" onclick="location.replace('ua.php');" style="font-size:13px"/></center></td>
</table>
</body>
<?php
echo"entrée requête pour update";
//modification dans la table
if(isset($_POST['modifier_UA'])){
echo"clique pour update";
$query = "UPDATE ua SET NomNetbios='".$_POST['netbios']."', SourceMAJ='".$_POST['source']."' , AdresseIP='".$_POST['ip']."' , EmailENTITE='".$_POST['mail']."' , ENTITE='".$_POST['entite']."' , SITE='".$_POST['site']."' WHERE AdresseIP='".$_POST['AdresseIP_hidden']."' " ;
$upd = mysql_query($query) or die("ErreurUpdate ".mysql_error());
echo " Modif dans la base reussie pour l'UA: ".$_POST['AdresseIP_hidden'];
if($upd){
echo " Modif dans la base reussie pour l'UA: ".$_POST['AdresseIP_hidden'];
//header('Location:ua.php'); //c'est à dire la page dans laquelle tu as la requette et l'affichage de ton tableau initial
}else{
echo "Pb Modif dans la base ";
}
}
/////////SUPPRESSION
if(isset($_GET['action']) && $_GET['action'] == "supprimer"){
$ref=$_GET['ref'];
$query = "DELETE FROM ua WHERE AdresseIP='".$ref."'" ;
$del= mysql_query($query) or die("ErreurUpdate ".mysql_error());
if($del){
echo"test sur resultat delete";
//header('Location:ua.php');
}else{
echo "Pb Suppression dans la base ";
}
}
mysql_close($id_connect);
?>
j'ai apporté qq modifs, mais il manque le script modifier.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr"> <head> <title>Liste UA</title> <script type="text/javascript"> <!-- //fonction modifier --> function modifier(ref){ window.location.href='modifier.php?action=modifier&ref='+ref; } //fonction supprimer avec demande confirmation function supprimer(ref_ua){ if(confirm("Etes-vous sûre de vouloir supprimer cet UA "+ref)){ window.location.href='modifier.php?action=supprimer&ref='+ref; } } </script> </head> <body> <?php include_once "/connect.php"; $id_connect = exec_connect(); $query = "SELECT NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE FROM ua ORDER BY ENTITE"; $result = mysql_query($query) or die("Erreur dans l'extraction des informations<br>"); ?> <form action="modifier.php" method="POST" name="listeua" id="listeua"> <br/><br/> <font face="arial"> <caption><center><h3><b><i> LISTE UA </h3></center></caption> <table align="center" border="1" style="font-size:12px"> <br/><br/> <tr> <!-- je t'ai modifie ci dessous il faut le même nombre de colonnes, et mis des th à la place des td c'est fait exprès pour mettre les titres de col en gras --> <th> NETBIOS</th> <th>SOURCE MAJ</th> <th>ADRESSE IP</th> <th>EMAIL ENTITE</th> <th>ENTITE</th> <th>SITE</th> <th> </th> <th> </th> </tr> <?php while ($tab = mysql_fetch_array($result)) { ?> <tr> <td><?php echo $tab[0]; ?></td> <td><?php echo $tab[1]; ?></td> <td><?php echo $tab[2]; ?></td> <td><?php echo $tab[3]; ?></td> <td><?php echo $tab[4]; ?></td> <td><?php echo $tab[5]; ?></td> <td ><input type="button" name="modifier" value="Modifier" id="modifier" onClick="modifier('<?php echo $tab[2]; ?>');" style="font-size:13px"/></td> <td><input type="button" name="supprimer" value="Supprimer" id="supprimer" onClick="supprimer('<?php echo $tab[2]; ?>');" style="font-size:13px"/></td> </form> <?php } ?> <!-- la je ne vois pas trop ce que tu veux faire ci dessous ? tu veux avoir une partie pour rajouter un autre UA ? --> <table align="center"> <br/><br/><br/> <td></td> <td></td> <td><INPUT TYPE="button" name="ajout" VALUE="Ajouter" onClick="location.replace('ajout.php');" style="font-size:13px"/></td> <td></td> </table> <br/><br/><br/> <table align="center"> <td></td> <td></td> <td><INPUT TYPE="button" name="notif" VALUE="Notifications" onClick="location.replace('ping.php');" style="font-size:13px"/></td> </table> <?php //Récupération des données saisies dans le formulaire d'ajout ////c'est dans le même script ? if (isset($_POST['netbios']) ) { $netbios = $_POST['netbios']; if (isset($_POST['source']) ) { $source = $_POST['source']; if (isset($_POST['ip']) ) { $ip = $_POST['ip']; if (isset($_POST['mail']) ) { $mail = $_POST['mail']; if (isset($_POST['entite']) ) { $entite = $_POST['entite']; if (isset($_POST['site']) ) { $site = $_POST['site']; //Requête d'insertion dans la base des données précédemment saisies $isrt = "INSERT INTO ua (NomNetbios,SourceMAJ,AdresseIP,EmailENTITE,ENTITE,SITE) VALUES ('$netbios','$source','$ip','$mail','$entite','$site')"; $rslt = mysql_query($isrt) or die('Erreur SQL !'.$isrt.'<br>'.mysql_error()); if($rslt) echo "Insertion OK !"; else echo "Insertion KO !"; } } } } } }else return false; //Deconnexion de la base de donnees mysql_close($id_connect); ?>
Merci
<!-- la je ne vois pas trop ce que tu veux faire ci dessous ?
tu veux avoir une partie pour rajouter un autre UA ?
-->
Je rajoute 2 boutons qui ne vont pas dans le tableau
un bouton ajouter pour arriver sur le formulaire d'ajout d'un UA
un bouton notifications qui renvois à la page de notification des ua
il manque le script modifier.php
il se trouve juste après le script de ua.php
<!-- la je ne vois pas trop ce que tu veux faire ci dessous ?
tu veux avoir une partie pour rajouter un autre UA ?
-->
Je rajoute 2 boutons qui ne vont pas dans le tableau
un bouton ajouter pour arriver sur le formulaire d'ajout d'un UA
un bouton notifications qui renvois à la page de notification des ua
il manque le script modifier.php
il se trouve juste après le script de ua.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question