formulaire dans une iframe = erreur [please help me ^^] - PHP - Programmation
Marsh Posté le 22-04-2008 à 15:52:13
pas besoin du target normalement, le problème doit être dans ton script qui gère le formulaire.
Marsh Posté le 22-04-2008 à 15:58:48
Voici le code de la page généré - hors de cet iframe, le formulaire ce valide sans le moindre soucis :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script src="../javascript/lib/prototype.js" type="text/javascript"></script>
<script src="../javascript/src/scriptaculous.js?load=effects" type="text/javascript"></script>
</head>
<body><link href="style/formulaires.css" rel="stylesheet" type="text/css" />
<table width="100%" border="0" align="center" cellpadding="5" cellspacing="1">
<tr>
<td align="left" bgcolor="#FFFFFF" class="text">
<form name="form1" method="post" action="index.php?id=news.php&idnews=22">
<p class="reponse">Vous créez ici, un nouveau groupe d'articles. </p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
<td width="172" class="titrebleu">Titre : </td>
<td width="1212"><input name="titre" type="text" class="inputtext" id="titre" value="Tutoriaux"></td>
</tr>
<tr>
<td width="172" class="titrebleu">Nombre de news par page :</td>
<td><input name="nb" type="text" class="inputtext" id="nb" value="20"/></td>
</tr>
<tr>
<td colspan="2"><p>
<label>
<span class="reponse">
<br />
</span><span class="titrebleu">Type d'articles</span><span class="reponse"><br />
<br />
<input type="radio" name="ordre" id="radio" />
</span></label>
<span class="reponse">Actualités -
<label>
<input type="radio" name="ordre" id="radio2" value="1" />
</label>
FAQ / Article -
<label>
<input type="radio" name="ordre" id="radio3" value="2" />
</label>
Téléchargement</span></p>
<p class="titrebleu">Affichage des commentaires</p>
<p>
<label>
<span class="reponse">
<input type="radio" name="comment" id="radio4" value="2" />
</span></label>
<span class="reponse">Oui (uniquement les identifiés) -
<label>
<input type="radio" name="comment" id="radio5" value="1" checked/>
</label>
oui (tout le monde) -
<label>
<input type="radio" name="comment" id="radio6" />
</label>
Non</span><br>
</p></td>
</tr>
<tr>
<td colspan="2" align="left">
<div align="left">
<p>
<span class="reponse">Choisir le template d'articles à appliquer :</span><br />
</p>
</div>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#5B93D7">
<tr>
<td height="31" align="left" background="img/fondbarre.jpg" class="titreblanctableau"> Titre</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="reponse"><input name="type" type="radio" value="news.tpl" />
news.tpl <font color=green>(ouvert à l'écriture)</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="reponse"><input name="type" type="radio" value="support.tpl" />
support.tpl <font color=green>(ouvert à l'écriture)</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="reponse"><input name="type" type="radio" value="Tutoriaux" checked />
Tutoriaux <font color=green>(ouvert à l'écriture)</font></td>
</tr>
</table>
<br />
<br /></td>
</tr>
<tr>
<td colspan="2"><input name="idnews" type="hidden" id="idarticle" class="inputtext" value="22">
<input name="Submit" type="submit" class="inputtext" value="Valider"></td>
</tr>
</table>
<p> </p>
<p> </p>
</form></td>
</tr>
</table>
Marsh Posté le 22-04-2008 à 16:11:23
un exemple en live serait plus parlant
ou un message d'erreur (essaye firebug, tu gagneras du temps pour la phase de debug)
PS: utilise la balise code pour poster du code
Marsh Posté le 22-04-2008 à 16:29:47
je ne peux malheureusement pas faire de live mais je vais tout vous fournir.
De un, on a le visuel global :
Code :
|
et de deux on a l'intérieur de l'iframe appelée
Code :
|
Pour le debug malheureusement il n'y a aucun bug !!! Ca renvoit un code source vide donc page blanche sous firefox et Internet Explorer cannot display the webpage sous IE. Sous Safari rien en se passe.
Par contre, je suis étonné mais en rélféchissant mon formulaire de connexion fonctionne !!!
code de ce formulaire de connexion :
Code :
|
Lui vérifie de façon classique le mot de passe et reroote à la page appelée dans l'iframe avec mise en session d'un utilisateur $_SESSION['pseudoA'].
Désolé d'avoir omis ce point, mais je viens à peine de faire attention au fait que seul ce formulaire ne fait aucune erreur !!!
Ai-je été assez explicite ?
Marsh Posté le 22-04-2008 à 16:59:20
essaye de limiter le code aux portions intéressante, là ça devient un peu lourd en affichage et lecture
par défaut ta page ne charge rien dans l'iframe (pas d'attribut src), donc normal qu'il n'y ait rien dedans
Marsh Posté le 22-04-2008 à 17:16:13
Voici donc le code limité aux portions intéressantes :
page contenant l'iframe (la page se charge lorsque l'on clique sur l'image
Code :
|
le formulaire devant se valider :
Code :
|
et le formulaire de connexion qui fonctionne !!! Mais dès qu'il est validé plus aucun autre formulaire fonctionne !!! Je rappelle que sans l'iframe, totu passe sans le moindre soucis !!!
Code :
|
J'espère que ça te permettra de mieux visualiser la globalité comme ça.
Marsh Posté le 22-04-2008 à 15:29:24
Bonjour,
Je me permets de vosu soliciter afin de vous faire part d'un problème que je n'arrive pas à résoudre.
J'avais une application en page pleine et pour des question d'ergonomie, j'ai placé ces pages au sein même d'une iframe ; cependant, dès que je valide un des formulaires présents, j'ai soit une page blanche (firefox), soit une page erreur Internet Explorer cannot display the webpage (IE) !!! Pourtant je n'avais pas changé la moindre ligne de code.
J'ai ensuite décidé de mettre un id et un name à mon iframe :
<iframe width="100%" height="470" frameborder="no" name="theframe" id="theframe"></iframe>
et aux formulaires :
<form action="'.$Action.'" method="post" name="form1" id="form1" target="theframe"> (l'action étant le nom de la page)
si je mets le lien récupéré par $Action dasn mon navigateur, la page s'affiche sans soucis, hors lorsque je valide mon formulaire, j'ai toujorus l'erreur indiquée ci-dessus !!!
Auriez-vous des idées sur ce qui se passe ?
(n'hésitez pas à me demander des précisions, c'est juste que le programme fait des dizaines de milliers de lignes [PHP] et que je sais pas les parties qui pourraient vous intéresser pour m'aider à résoudre ce mystère ^^).