David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 2006
-
24 avril 2006 à 12:01
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 2006
-
24 avril 2006 à 13:47
salut à tous,
j'ai développé un genre de messagerie en php/javascript. Tout marche nikel sous firefox, mais sous ie, lorsque je clique sur le bouton d'envoi, je ne change pas de page (alors que l'action de mon formulaire est une page différente), donc le message ne s'envoie pas. Voici la commande de validation:
Pensez-vous que mon problème soit du à une non interpretation de compose_message.submit() sous ie, ou alors est-ce du à autre chose?
Merci d'avance,
David
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 24 avril 2006 à 12:36
>>lorsque je clique sur le bouton d'envoi, je ne change pas de page
>>donc le message ne s'envoie pas
ah ? pas compris la relation ?
>>Pensez-vous que mon problème soit du à une non interpretation de compose_message.submit()
non
>> ou alors est-ce du à autre chose?
sûrement... et à mon humble avis : l'erreur est à la ligne 241
et si on avait un petit bout d'extrait du script/formulaire ?
David_monchy
Messages postés214Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention23 juin 20061 24 avril 2006 à 13:47
oups excuse moi
bon alors la relation, c'est que je remplis un champ destinataire, objet et message, et quand je clique sur envoi, le message s'envoie. Pour cela, je charge une autre page qui récupère les données envoyées et les insère dans la table message. Comme je l'ai déjà dit, sous firefox tout marche, mais sous ie la page devant récupérer les données envoyées n'est pas chargée, et le nom de la page affichée dans la barre d'adresse est celui de la page contenant le formulaire, donc cela signifie que l'envoi n'est pas effectué. Voici le code:
donc voici la page avec le formulaire:
Tapez le contenu de votre message*:,
<?php
include ('./editeur_wysiwyg/classe_wysiwyg.inc.php');
if(isset($_GET['texte'])){
$wysiwyg = new wysiwyg(TRUE,' method="post" action="./editeur_wysiwyg/nouveau_message.php?texte" id="formulaire"');
}else{
$wysiwyg = new wysiwyg(FALSE,' method="post" action="./editeur_wysiwyg/nouveau_message.php" id="formulaire"');
}
echo $wysiwyg->javascript;
?>load; ?>><?php
echo $wysiwyg->formulaire;
?>
<!--Cliquez ici si vous n'arrivez pas à composer votre message (ou pour passer sur une zone de texte classique).
,
<?php
if(isset($_GET["err"])){
echo "Le destinataire que vous avez entré n'existe pas!
";
unset($_GET["err"]);
}
?>,
----
,
</form>
et voici la page devant normalement traiter les données et les insérer dans la table:
if(isset($_POST["cache"])){
//cela signifie que l'on a cliqué sur valider, donc on traite les infos reçues
//on commence par vérifier que le destinataire existe
$dest=trim(addslashes($_POST["destinataire"]));
$requete="SELECT id_user FROM chat_user WHERE pseudo='".$dest."'";
$res=mysql_query($requete);
mysql_error();
//cela signifie que le nom du destinataire n'existe pas
?>
<script language="javascript">
window.top.location='../index2.php?page_centrale=messages/composer_message.php?err=1&h='+screen.height;
</script>
<?php
//echo '<META HTTP-EQUIV="Refresh" CONTENT="1; URL=composer_message.php?err=1">';
}else{
//si le destinataire existe on ajoute le message dans la base de données
//on commence par récupérer l'id du destinataire
while($ligne=mysql_fetch_array($res)){
$id_dest=$ligne["id_user"];
}
//on récupère ensuite les données
$exp=$_SESSION["pseudo"];
if(isset($_POST["objet"]) && !empty($_POST["objet"])){
$objet=$_POST["objet"];
}else{
$objet="Aucun objet";
};
//on récupère également les infos relatives à la date:
$jour=date('d');
$mois=date('m');
$annee=date('Y');
$heure=date('H');
$minute=date('i');
$seconde=date('s');
//on récupère l'id de l'expéditeur
$requete="SELECT id_user FROM chat_user WHERE pseudo='".$exp."'";
$res=mysql_query($requete);
mysql_error();
switch($_POST['langage'])
{
case 'php':
$_POST['tcode']=str_replace(array('
','
'),'',highlight_string(urldecode($_POST['tcode']),true));
break;
case 'html':
include './colorer/html.php';
colorer_html($_POST['tcode']);
break;
case 'css':
include './colorer/css.php';
colorer_css($_POST['tcode']);
break;
case 'javascript':
include './colorer/javascript.php';
colorer_javascript($_POST['tcode']);
break;
case 'vb':
include './colorer/vb.php';
colorer_vb($_POST['tcode']);
break;
case 'cpp':
include './colorer/cpp.php';
colorer_cpp($_POST['tcode']);
break;
case 'java':
include './colorer/java.php';
colorer_java($_POST['tcode']);
break;
default:
$_POST['tcode']=nl2br(htmlentities($_POST['tcode']));
break;
}
</script>
<?php
}
unset($_POST["cache"]);
}//fin du si cache existe
Voila. Il faut également savoir que la partie avec la variable wysiwyg et la partie traitement du message (en commentaires) proviennent d'un éditeur de texte créé par anthomicro.
Voila, en espérant que cela puisse vous aider.