Vérifier un champ avec requete sql suite à un onchange...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérifier un champ avec requete sql suite à un onchange...

par laplumaencre » 10 août 2006, 11:58

Bon tout marche les gars ;-) merci encore a tous a+

par faber8 » 10 août 2006, 11:56

Désolé mais je trouvait pas ton explication très claire :wink:

par Tictac » 10 août 2006, 11:55

Ca va faber8 , on va pas se battre lol [-o<

par faber8 » 10 août 2006, 11:54

Quand tu ouvre une fenêtre avec un window.open tu n'envoi pas de formulaire (donc pas de POST). Par contre, dés que tu appel une adresse avec à la fin un truc genre :
?marub=mavaleur&monautrerub=monautrevalueur

Là tu passe des variables au format GET

par Tictac » 10 août 2006, 11:51

tu la passe en GET => ?zone_realisation='+this.value

Ton formulaire est p-e en POST mais la variable pour le popup en GET !!

par laplumaencre » 10 août 2006, 11:45

VIVE TIC TAC Impec ça marche, mais pourquoi c'est GET alors que mon formulaire est POST, c'est le javascript qui envois en GET?

MERCI BEAUCOUP A TOUS ET SURTOUT POUR CETTE FOIS A TICTAC :-) a+

par faber8 » 10 août 2006, 11:40

zut deux minutes de retard moi :)

par faber8 » 10 août 2006, 11:39

Juste pour info : vous changez le nom du paramètre que vous passez en GET. D'où l'impossiblité de la trouver sous le même nom :

<input type="text" name="zone_realisation" id="zone_realisation" value="Préciser réf. S5" size="15" style="visibility:hidden" onChange="window.open('controle_ref.php?id='+this.value,'ref','width=500,height=100,scrollbars=no')">

Voici donc la correction :

<input type="text" name="zone_realisation" id="zone_realisation" value="Préciser réf. S5" size="15" style="visibility:hidden" onChange="window.open('controle_ref.php?zone_realisation='+this.value,'ref','width=500,height=100,scrollbars=no')">

@+

par Tictac » 10 août 2006, 11:37

Ok je viens de voir l'erreur ;)

<input type="text" name="zone_realisation" id="zone_realisation" value="Préciser réf. S5" size="15" style="visibility:hidden" onChange="window.open('controle_ref.php?zone_realisation='+this.value,'ref','width=500,height=100,scrollbars=no')">

par laplumaencre » 10 août 2006, 11:32

ok mais si ça marche deja pas avec
echo "Voici la référence:" .$_GET['zone_realisation'];

if ($_GET['zone_realisation']) {
$ref_base=$_GET['zone_realisation'];
echo $ref_base;
}

ça marchera pas plus avec mon script avec requete...

par Tictac » 10 août 2006, 11:29

Ajoute le or die("Erreur lors de la requête: ".mysql_error());


$SQL=mssql_query("SELECT GA_CODEARTICLE, GA_LIBELLE FROM ARTICLE WHERE GA_CODEARTICLE='".$ref_base."'", $connexion2) or die("Erreur lors de la requête: ".mysql_error());

par laplumaencre » 10 août 2006, 11:26

Salut Cari, ton code peut peut être m'interessé quand meme ...envois par email sinon je regarderais ça. :-) a+

par cari » 10 août 2006, 11:21

vaut mieux ne pas te prendre la tête avec ce que j'ai fais, mais concentre toi sur ton code de départ!

par laplumaencre » 10 août 2006, 11:15

Parce ce champ est un champ qui apparait suite a un choix ds une liste deroulante qui elle meme est alimenté par une base de donnée...
Mais ça gene pas le hidden puisque si un ref est envoyé via ce champ c'est qu'il est visible
je te montre le code pour info mais pas important pout notre truc
<?php

*Type de r&eacute;alisation :
<select name="type_realisation" onChange="afficher1(this)">
<?php $connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!");
mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!");
$SQL4 = "SELECT id_menu,libelle,zone_texte FROM menu_deroulant WHERE id_menu='type_realisation'";
$res4 = mysql_query($SQL4);
while ($val4=mysql_fetch_array($res4) ) {
echo '<option value="'.$val4['zone_texte'].'">'.$val4['libelle'].'</option>\n';}
?>
</select>
<SCRIPT language="javascript">
<!--affiche une zone de texte si la liste déroulante est sur MODIFICATION -->
function afficher1(objet) {
	if (objet.value==1) {
		document.all["zone_realisation"].style.visibility="visible";
	} else {
		document.all["zone_realisation"].style.visibility="hidden";
	}
}
</SCRIPT>

<input type="text" name="zone_realisation" id="zone_realisation" value="Préciser réf. S5" size="15" style="visibility:hidden" onChange="window.open('controle_ref.php?id='+this.value,'ref','width=500,height=100,scrollbars=no')">

?>

par Tictac » 10 août 2006, 11:10

pq mets tu ceci => style="visibility:hidden" dans ton input ?

le popup vient au submit de ton formulaire ?

Comme fonctionne ton truc en gros ?