[PHP] Perte de variable après POST de FORMula
                    
        
     
             
                    guichoux
    
        
    
                    Messages postés
            
                
     
             
            6
        
            
                                    Statut
            Membre
                    
                -
                                     
guichoux Messages postés 6 Statut Membre -
        guichoux Messages postés 6 Statut Membre -
        Bonjour à tout le monde,
J'ai un soucis que je n'arrive pas à réglé, j'y ai passé tout hier et ce matin si je n'arrive pas à la regler je crois que je vais me tirer une balle ...
C'est un truc tout bête j'en suis persuadé mais je ne vois pas où.
J'ai un formulaire html qui me sert en fait à éditer du texte pour la création de questions dans une FAQ.
Il y a donc des input et des text-areas, dont certaines se remplissent toutes seules (si c'est une nouvelle question) ou récuperent des données (si on veut re-éditer une question)
Pour mes text-areas j'utilise TinyMCE.
Quand l'utilisateur clique sur aperçus ou sur enregistrer, sur la page de traitement du formulaire (edit_question.php) je récupere avec des $_POST les valeurs remplies. Seulement voicie ce que j'obtiens :
Notice: Undefined index: titrequestion in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 14.
Notice: Undefined index: reponse in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 16.
Notice: Undefined index: view in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 21.
Notice: Undefined index: view in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 81.
Si quelqu'un sait pourquoi je ne peux pas récupérer ces fichues valeurs, je suis preneur :/
Je ne pense pas que celà vienne de TinyMCE, peut être du Javascript?
Voici mon formulaire :
Merci de votre lecture.
                
            
                
    
    
    
        J'ai un soucis que je n'arrive pas à réglé, j'y ai passé tout hier et ce matin si je n'arrive pas à la regler je crois que je vais me tirer une balle ...
C'est un truc tout bête j'en suis persuadé mais je ne vois pas où.
J'ai un formulaire html qui me sert en fait à éditer du texte pour la création de questions dans une FAQ.
Il y a donc des input et des text-areas, dont certaines se remplissent toutes seules (si c'est une nouvelle question) ou récuperent des données (si on veut re-éditer une question)
Pour mes text-areas j'utilise TinyMCE.
Quand l'utilisateur clique sur aperçus ou sur enregistrer, sur la page de traitement du formulaire (edit_question.php) je récupere avec des $_POST les valeurs remplies. Seulement voicie ce que j'obtiens :
Notice: Undefined index: titrequestion in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 14.
Notice: Undefined index: reponse in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 16.
Notice: Undefined index: view in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 21.
Notice: Undefined index: view in C:\Documents and Settings\Stagiaire\Bureau\Site\edit_question.php on line 81.
Si quelqu'un sait pourquoi je ne peux pas récupérer ces fichues valeurs, je suis preneur :/
Je ne pense pas que celà vienne de TinyMCE, peut être du Javascript?
Voici mon formulaire :
<body>
<?php
include ("functions.php");
if ($_SESSION['ID'] != "AdmiN")
{
    header("location:index.php?result=Forbidden");
}
else
{
    if (isset($_GET['IDq']))
    {
        $idq = $_GET['IDq'];
        $flag = true;
        $req = "select * from question where id='".$idq."';";
        connecttoFAQ();
        $ressource = mysql_query($req) or die('Erreur : '.mysql_error());
        if ($ressource == false)
        {
            $flag = false;
        }
        else
        {
            $questionarray = mysql_fetch_assoc($ressource);
        }
    }
}
?>
<form action="edit_question.php" method="POST" name="editor" id="editor">
<table class="table_thick_margin_blue">
<tr>
	<td>Question :<br /> <input type="text" size="55" name="titrequestion" id="titrequestion" value="<?php
if (isset($_GET['IDq']) and ($flag != false))
{
    echo $questionarray['titre'];
}
?>" /></td>
</tr>
<tr>
	<td align="left">Description :<br /><textarea name="description" id="description" rows="10" cols="60" ><?php
if (isset($_GET['IDq']) and ($flag != false))
{
    echo $questionarray['description'];
}
?></textarea></td>
	<td valign="top"><?php
if (isset($_GET['IDq']) and ($flag != false))
{
    connecttoFAQ();
    mysql_query('SET NAMES UTF8');
    $req1 = "SELECT * from niveau1 where id='".$questionarray['niveau1']."';";
    $req2 = "SELECT * from niveau2 where id='".$questionarray['niveau2']."';";
    $req3 = "SELECT * from niveau3 where id='".$questionarray['niveau3']."';";
    $ressource1 = mysql_query($req1) or die('Erreur : '.mysql_error());
    $ressource2 = mysql_query($req2) or die('Erreur : '.mysql_error());
    $ressource3 = mysql_query($req3) or die('Erreur : '.mysql_error());
    $niveau1array = mysql_fetch_assoc($ressource1);
    $niveau2array = mysql_fetch_assoc($ressource2);
    $niveau3array = mysql_fetch_assoc($ressource3);
    mysql_close($_SESSION['connexion_base']);
    echo "<div class='warning'>Cette question est déjà classée dans ".$niveau1array['id'].
        "-".$niveau1array['titre']." > ".$niveau2array['id']."-".$niveau2array['titre'].
        " > ".$niveau3array['id']."-".$niveau3array['titre'].".</div><br/>";
    echo "Vous pouvez la reclasser en remplissant les combobox situées juste en dessous.<br/>";
}
if (!empty($_GET['result']))
{
    switch ($_GET['result'])
    {
        case 'NiveauVide':
            $erreur = "Veuillez renseigner où classer cette question.";
            break;
        case 'ChampVide':
            $erreur = "Veuillez renseigner tous les champs.";
            break;
    }
    echo ("<div class='error'>");
    if (isset($erreur))
    {
        echo ($erreur);
    }
    echo ("</div>");
}
?>
Choisissez la catégorie et les sous-catégories où classer cette question :<br/>
<?php
connecttoFAQ();
$req = "SELECT * FROM niveau1 ORDER BY id";
mysql_query('SET NAMES UTF8');
$res = mysql_query($req) or die('Erreur');
echo '<div align="center" id="combo1"><select name="niveau1" onclick=\'requeteajax("combo2","traitercombo2.php",this.value);\'>';
echo '<option value="default">----Choisissez----</option>';
while ($jeuenr = mysql_fetch_assoc($res))
{
    echo '<option value="'.$jeuenr['id'].'">'.$jeuenr['id'].' - '.$jeuenr['titre'].
        '</option>';
}
echo '</select></div>';
?>
	<!-- c'est dans ces div que les combos  2 et 3vont apparraitre après selection de la combo1 -->
	<div id="combo2" align="center"></div>
	<div id="combo3" align="center"></div>
	</td>
</tr>
<tr>
	<td>Solution :<br /><textarea name="reponse" id="reponse" rows="10" cols="30" style="width:30%"><?php
if (isset($_GET['IDq']) and ($flag != false))
{
    echo $questionarray['reponse'];
}
?></textarea></td>
	<td align="left" valign="top"><input type="hidden" name="view" id="view" value="1"/>infos :<br /> Question <input type="text" id="idquestion" name="idquestion" readonly="readonly" value="<?php
if (isset($_GET['IDq']) and ($flag != false))
{
    echo $questionarray['id'];
}
else
{
    $numq = date('YmdHis', time());
    echo $numq;
}
?>"/><br /> crée le <input type="text" name="datecreation" id="datecreation" readonly="readonly" value="<?php
if (isset($_GET['IDq']) and ($flag != false))
{
    echo $questionarray['date_creation'];
}
else
{
    $day = date('d-m-Y', time());
    echo $day;
}
?>"/><br /></td>
</tr>
</table>
	</form>
<input type="button" name="enregistrer" id="enregistrer" value="Enregistrer" onclick="javascript:parent.opener.location.reload();window.close();document.getElementById('view').value=0;document.forms['editor'].submit();" /><br /><input type="button" name="apercus" id="apercus" value="Aperçus" onclick="document.getElementById('view').value=1;document.forms['editor'].submit();"/>
</body>	
Merci de votre lecture.
        A voir également:         
- [PHP] Perte de variable après POST de FORMula
- Easy php - Télécharger - Divers Web & Internet
- Reinstaller windows sans perte de données - Guide
- Brouillon post instagram - Guide
- Post it windows - Télécharger - Agendas & Calendriers
- Code post - Télécharger - Vie quotidienne
5 réponses
                        
                    Salut,
ça ne viendrait pas de la?
<input type="button" name="enregistrer" id="enregistrer" value="Enregistrer" onclick="javascript:parent.opener.location.reload();window.close();document.getElementById('view').value=0;document.forms['editor'].submit();"
Je suis pas une super bete de js, mais moi j'utilise betement :
document.editor.submit();
ou peut etre parce que tu fermes window avant d'envoyer le form?
    
                ça ne viendrait pas de la?
<input type="button" name="enregistrer" id="enregistrer" value="Enregistrer" onclick="javascript:parent.opener.location.reload();window.close();document.getElementById('view').value=0;document.forms['editor'].submit();"
Je suis pas une super bete de js, mais moi j'utilise betement :
document.editor.submit();
ou peut etre parce que tu fermes window avant d'envoyer le form?
                        
                    Ah mince j'ai envoyé une vieille version de mon code ... j'ai mis l'envoi du form avant de fermer la fenetre et j'ai fais exactement le même code js --> document.editor.submit();
Je vois vraiment pas d'où vient ce satané problème.
    
                Je vois vraiment pas d'où vient ce satané problème.
                        
                    t'as essayé de mettre un bete <input type="submit"/> dans la balise form, juste par curiosité pour voir si ça fonctionne,..
si oui, c'est que ça vient du js à coup sur, mais j'avoue ne pas très bien comprendre ou ça peut foirer..
peut etre l'ordre des commandes js tout de même.
    
                si oui, c'est que ça vient du js à coup sur, mais j'avoue ne pas très bien comprendre ou ça peut foirer..
peut etre l'ordre des commandes js tout de même.
                        
                    oui j'ai essayé, je vais changer l'ordre. Le plus fun c'est qu'en modifiant un peu mon code, j'ai réussi a faire passer une variable de plus (et c'est pas trop tôt !!) :)
Il m'en reste plus que deux ... Mais je comprends vraiment pas car les autres passent, si elles passent c'est que forcemment mon code n'est pas vraiment faux.
Il y a des pros du php qui pourraient m'éclairer?
    
                Il m'en reste plus que deux ... Mais je comprends vraiment pas car les autres passent, si elles passent c'est que forcemment mon code n'est pas vraiment faux.
Il y a des pros du php qui pourraient m'éclairer?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question