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   -
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 !

28 réponses

liadea Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
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);

?>
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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>&nbsp;</th>
<th>&nbsp;</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);

?>
0
liadea Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
je t'ai renvoyé hier soir les codes des trois scripts en fichier joint a ton adrese mail
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
liadea Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
BONJOUR !


Je vais voir parce que hier soir je n'avais rien
je te tiens au courant

MERCI
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Je l'ai envoyé à 17h48, est ce que l'adresse que tu m'a donné est bonne ?
0
liadea Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
Ouic'est bon je t'ai répondu sur ton mail
0
liadea Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
MERCI
0