Nouvelle popup [Résolu]

Signaler
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006
-
Bonjour voila mon script le probleme quand je clique sur rechercher ça affiche les informations sur la meme page alors que moi je veux que ça l'affiche dans une nouvelle popup. ça marche quand il y a un href mais avec un bouton j'arrive pas. Merci de votre aide
<?
//script de connexion à la base
require_once('../connexion.php');
//insertion du code de vérification d'autorisation d'accès
include "../verif_session.php";
//recuperation de l'année
$annee= date('Y');
$req="select * from mission";
$res=executer($req);

?>
<HTML>
<HEAD>
<TITLE>Choix annee et chapitre</TITLE>
<script language="Javascript">
<!--
function ouvreFenetre(page) {
var objForm = document.forms[0];
objForm.target = "monpop";
  window.open(page, "monpop", "scrollbars=no,menubar=yes,toolbar=no,resizable=no,width=screen.availWidth,height=screen.availHeight");
}

function Controle()
{
if(document.formulaire.annee.value=='') // 1
{
alert('Le champ annee ne peut pas rester vide !');
document.formulaire.annee.focus();
}
else if(isNaN(document.formulaire.annee.value)) // 2
{
alert('Le champ annee ne peut être que numérique !');
document.formulaire.Nom.focus();
}
else if(document.formulaire.annee.value.length>4) // 3
{
alert('Le champ annee ne peut pas excéder 4 chiffres !');
document.formulaire.annee.focus();
}
else
{
document.formulaire.method = "POST";
document.formulaire.action = "visualiser_type.php";
document.formulaire.submit();
}
}    
// -->
</script>
</HEAD>
<center>
Choix annee et chapitre

<form name =\"formulaire\"  onSubmit=\"javascript:ouvreFenetre('visualiser_type.php')\">
----
annee de déplacement,
>,

----
type de mission,
<select size="3" name="mission">
<?
while ($ligne = mysql_fetch_array($res))
{
echo '<option value="'.$ligne['code'].'">'.$ligne['libelle'].'</option>
';
}
?>
</select>,

----

<center>
</form>

12 réponses

Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
remplace la variable page par celle ci :
page=validation+annee+"&mission="+document.formulaire.mission.value;

Tu récupére anne et mission
voilà sinon je penses pas qu'il soit possible de récupérer via POST avec cette methode car ce n'est plus vraiment le formulaire qui valide ... enfin je dis ça mais bon c'est peut être faisable.
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Je te remercie de ton aide, je vais regarder si je trouve avec la methode post mais cela me suffit car je n'ai que max 3 parametres sinon pour un autre parametre il suffit de faire: page=validation+annee+"&mission="+document.formulaire.mission.value+"
&organisme="+document.formulaire.organisme.value;
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
Voila c'est plus pro comme ça et ça fonctionne







<?
//script de connexion à la base
require_once('../connexion.php');
//insertion du code de vérification d'autorisation d'accès
include "../verif_session.php";
//recuperation de l'année
$annee= date('Y');
$req="select * from mission";
$res=executer($req);

?>
<HTML>
<HEAD>
<TITLE>Choix annee et chapitre</TITLE>


<script language="Javascript">
<!--
function Controle(page

)
{
if(document.formulaire.annee.value.length==4) {
window.open(page, "monpop", "scrollbars=no,menubar=yes,toolbar=no,resizable=no,width=screen.availWidth,height=screen.availHeight");
}
else { alert("Remplissez l'année de déplacement") }
}  
// -->
</script>




</HEAD>
<center>
Choix annee et chapitre

<form name =\"formulaire\"  onSubmit=\"javascript:Controle('visualiser_type.php);\">
----
annee de déplacement,
" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;">,

----
type de mission,
<select size="3" name="mission">
<?
while ($ligne = mysql_fetch_array($res))
{
echo '<option value="'.$ligne['code'].'">'.$ligne['libelle'].'</option>
';
}
?>
</select>,

----

<center>
</form>
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
Je remet la fonction Javascript car Il y avait des sauts de lignes

<script language="Javascript">
<!--
function Controle(page)
{
if(document.formulaire.annee.value.length==4) {
window.open(page, "monpop", "scrollbars=no,menubar=yes,toolbar=no,resizable=no,width=screen.availWidth,height=screen.availHeight");
}
else { alert("Remplissez l'année de déplacement") }
}  
// -->
</script>
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Merci de ta réponse mais je viens de faire ça mais y a rien qui s'affiche!
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
En regardant tu aurais pu trouver l'erreur j'ai fais un oubli de guillemet simple :
<form name="formulaire"  onSubmit="javascript:Controle('visualiser_type.php');">
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Re, je viens de changer mais la date est bloquée on peut pas la changer, sinon c'est quoi les event.keycode
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Dans le fichier visualiser_type,  il ne recupère pas l'année, elle ne doit pas être transmise?
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
les event.keycode permet de vérifier que ce ne sont que des chiffres qui soient entrées dans le inpu (essayes tu ne peux entrée que 4 carateres au maximum et que des chiffres,
Penses tout de même à vérifier ça du coté PHP avant de faire ton appel dans la base de donnée ça éviteras des injections (Securité avant tout), en fait tu refais la même verif coté php ta date ne fais pas plus de 4 caracteres et que tout soit des chiffres.

Dans le fichier visualiser_type,  il ne recupère pas l'année, elle ne doit pas être transmise?
Tu débute en JS et PHP? donc sinon tu as juste à ajouter la methode POST ou GET a ta balise form

<form name="formulaire" method="POST" action="javascript:Controle('visualiser_type.php');">
et sur 'visualiser_type.php' tu réceptionne avec la même methode : $_POST[annee]
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Non en php je me débrouille mais pas trop en JS, en fait avant de mettre la vérification de la date ça marchait à condition d'entrer une date valide mais depuis non. Pour ce qui est de la méthode POST, je connais et je l'avais rajouté mais j'ai le message Undefined index:annee au niveau de la fenetre qui s'ouvre. Qd j'enleve les controle et que je mets juste  ça <form name="formulaire" method="POST" action="visualiser_type.php"> ça marche mais pas de controle!
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
Arf j'suis bête j'ai pas pensé que c'était une pop up ^^

tu récupére du coté php avec la variable $_GET["annee"];

Et voici la nouvelle source :
J'ai testé comme ça j'suis sur que ça fonctionne

<HTML>
<HEAD>
<TITLE>Choix annee et chapitre</TITLE>
<script language= "Javascript">
<!--
function Controle(validation)
{
var annee=document.formulaire.annee.value;
page=validation+annee
if(annee.length==4) {
window.open(page, "monpop", "scrollbars=no,menubar=yes,toolbar=no,resizable=no,width=screen.availWidth,height=screen.availHeight");
}
else { alert("Remplissez l'année de déplacement") }
}
// -->
</script>



</HEAD>
<center>
Choix annee et chapitre

<form name =\"formulaire\" action=\"javascript:Controle('visualiser_type.php?annee=');\">
----
annee de déplacement,
" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;">,

----
type de mission,
<select size="3" name="mission">
<?
while ($ligne = mysql_fetch_array($res))
{
echo '<option value="'.$ligne['code'].'">'.$ligne['libelle'].'</option>
';
}
?>
</select>,

----

<center>
</form>
Messages postés
23
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
12 juillet 2006

Merci, ça marche pour année mais y a aussi mission je pense qu'on peut faire la meme chose par contre serait-il possible d'utiliser la methode POST?