Page 1 sur 1

Problème popup et submit

Posté : 09 mars 2006, 16:35
par vincedjs
Bonjour, avant tout je préviens j'ai utilisé :google:, mais seulement je n'ai vraiment pas compris comment utilisé GET etc.. dans ce cas.

Donc voila, afin de vérifier dans 1 formulaire si le nom de fiche ( champ de ma table ) est déja utilisé j'utilise 1 bouton "Test".
<input name="testnom" type="submit" class="bouton" id="testnom"
					  onclick="javascript:popup('validationnomfiche.php')" value="Test"target="_blank"/>
il renvoit donc vers la fonction:
<script language="javascript"> 
function popup(fic) 
	{
	wchoix=window.open(fic,'Choisir','width=175,height=5,top=290,left=400');  
	document.form2.submit();
	} 
</script>
seulement dans mon 'validationnomfiche.php'

et dans ma variable POST rien ne s'affiche
<?php
include ('secure.php');
//connection à la base
include ('mysqlconnect.php');
$nomfiche = $_POST['nomfiche'];
echo $nomfiche;
?>
<br>
<?php
$sql = "SELECT nomFiche 
		FROM fiches 
		WHERE nomFiche = '".$nomfiche."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
$data = mysql_fetch_array($req);  
if(empty($nomfiche))
	{
	echo'Vous avez oublié de remplir le nom de fiche';
	}
	else if($data['nomFiche'] == $nomfiche)
		{
		echo'Nom de fiche déjà utilisé!';
		}else{
			echo'Nom de fiche libre';
			}
?>
<title>Test</title>
je suis sur que cela vien de ma fonction popup, mais je ne sais pa quoi ajouté, merci :)

Posté : 09 mars 2006, 17:11
par Ryle
Quelques remarques :

Code : Tout sélectionner

<input name="testnom" type="submit" // si ton bouton sert juste à ouvrir la popup et pas à envoyer un formulaire, utilise plutot un type="button" submitclass="bouton" id="testnom" onclick="javascript:popup('validationnomfiche.php')" value="Test" target="_blank" // pas de balise target dans un input.. au mieux dans le tag <form> ou dans un lien />
Après l'ouverture de ta popup, tu soumet le formulaire form2

Code : Tout sélectionner

document.form2.submit();
Tu peux nous en montrer un peu plus ? est ce qu'il est bien en method=post et en target de ta popup ? et surtout est ce bien lui qui contient le champ nomfiche ? :)

Posté : 09 mars 2006, 17:32
par vincedjs
en faite j'utilise plusieurs boutons dans1 meme forumaire j'utilise donc des fonctions js.
<script language="javascript"> 
function popup(fic) 
	{ 
	wchoix=window.open(fic,'Choisir','width=175,height=5,top=290,left=400');  
	document.form2.submit();
	} 
</script>
<script language="JavaScript" type="text/javascript"> 
function testsubmit1()
	{
    if (document.form1.action=="") return false; 
return true;
	} 
function gopage1(page) 
	{
document.form1.action = page; 
document.form1.submit();
	} 
</script>
<script language="JavaScript" type="text/javascript"> 
function testsubmit2()
	{
    if (document.form2.action=="") return false; 
return true;
	} 
function gopage2(page) 
	{
document.form2.action = page; 
document.form2.submit();
	}  
</script>
et mes formulaires:
<form id="form1" name="form1" method="post" action="" onsubmit="return testsubmit1()">
      <form id="form2" name="form2" form="form" action="" onsubmit="return testsubmit2()"  
	  method="post" enctype="multipart/form-data" >
sachant que le bouton se trouve dans le form 2


j'ai donc corrigé
					  <label>
					  <input name="testnom" type="button" submitclass="bouton" id="testnom" 
					  onclick="javascript:popup('validationnomfiche.php')" value="Test"/>
					  </label></th>

Posté : 09 mars 2006, 18:19
par Spols
je conseille plutot l'utilisation d'un seul formulaire et de bouton de nom différent, et une seul page de traitement de donnée

le début de la page est du style
if (isset($_POST["nom input1"]))
{fonction1();}
elseif (isset($_POST["nom input2"]))
{fonction2();}
else
{die("erreur";}
enfin c'est toi qui décide

Posté : 10 mars 2006, 10:51
par re-VinceDjs
oui mais ca ne résoud pas mon probleme de submit pour ma popup :)

Posté : 10 mars 2006, 11:13
par vincedj
Probleme résolu
					  <input name="testnom" type="button" class="bouton" id="testnom" 
                 		onclick="javascript:popup('validationnomfiche.php')" value="Test" />
<script language="javascript"> 
function popup(fic) 
   { 
   nomfiche = document.getElementById('nomfiche').value; 
   window.open(fic + '?nomfiche='+nomfiche,'Choisir','width=175,height=5,top=290,left=400');  
   } 
</script>
<?php 
include ('secure.php'); 
//connection à la base 
include ('mysqlconnect.php'); 
$nomfiche = $_GET['nomfiche']; 
echo $nomfiche; 
?> 
<br> 
<?php 
$sql = "SELECT nomFiche 
      FROM fiches 
      WHERE nomFiche = '".$nomfiche."'"; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
$data = mysql_fetch_array($req); 
if(empty($nomfiche)) 
   { 
   echo'Vous avez oublié de remplir le nom de fiche'; 
   } 
   else if($data['nomFiche'] == $nomfiche) 
      { 
      echo'Nom de fiche déjà utilisé!'; 
      }else{ 
         echo'Nom de fiche libre'; 
         } 
?>