Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

header redirect
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Subiectul anterior :: Subiectul următor  
Autor Mesaj
z.m



Data înscrierii: 25/Feb/2005
Mesaje: 326

Trimis: Vin Mar 30, 2007 5:05 pm    Titlul subiectului: header redirect  

Am facut si eu un mic script in ajax ce trimite datele unui formular de contact.
Problema e ca in scriptul php care verifica datele,vreau ca dupa ce este trimis email-ul,sa fie redirectat la alta pagina.Am folosit header() dar nu face nimic,ci apare mesajul care l-am pus cand se proceseaza datele:"Wait...",si ramane neschimbat.Daca scot header() in schimb merge.
Si mai am o problema.Scriptul nu merge pe ie,numai pe mozilla.Desi am folosit:
if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
Sus  
johnutz



Data înscrierii: 20/Iul/2004
Mesaje: 956
Locație: Între scaun și tastatură

Trimis: Vin Mar 30, 2007 11:37 pm    Titlul subiectului:  

Pai de ce mai vrei redirectare daca ai ajax? Nu era mai bine daca aveai un formular normal, conventional?

Si daca redirectarea aia ai pus-o in script-ul pe care il acceseaza XMLHTTPRequest, atunci nu e bine. Pune un document.location="unde_vrei_tu" dupa cererea XMLHTTP.

Totusi, ce rost are sa faci un simplu formular de trimis mailuri cu ajax?
Sus  
z.m



Data înscrierii: 25/Feb/2005
Mesaje: 326

Trimis: Sâm Mar 31, 2007 1:07 am    Titlul subiectului:  

Pentru ca daca formularul e completat corect,afisez un gif de genul loading,si mesajul "Sending Email...".Dupa ce trimite emailul problema e ca acel gif apare in continuare,si si mesajul.Puteam pune in loc de asta "Email Sent",cum ar trebui de fapt,dar arata mai bine cu gif-ul ala:).Nu am inteles unde trebuie exact pus window.location.Daca il pun dupa raspunsul primit de la server in cazul in care formularul nu e completat corect mi se afiseaza initial mesajul de eroare si apoi redirecteaza,ceea ce nu e bine.
Sus  
Copyright



Data înscrierii: 17/Dec/2006
Mesaje: 859
Locație: Bucuresti

Trimis: Sâm Mar 31, 2007 9:31 am    Titlul subiectului:  

Dupa ce trimiti mail-ul in fisierul php, dai un echo de genu:
echo 'Email sent';

iar in functia handler din javascript verifici raspunsul server-ului si daca sa trimis mail-ul schimbi gif-ul si faci redirectionarea cu document.location Cod:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
         if(xmlhttp.responseText == 'Email sent') {
           // shimba giful sending_email cu email_sent            
             document.getElementById('giful_tau').src = 'email_sent.gif';
           // redirectionare catre pagina.php
             document.location = 'paginna.php';
           }         
}
Later.
Sus  
Amenthes



Data înscrierii: 12/Dec/2005
Mesaje: 469

Trimis: Dum Apr 29, 2007 8:38 pm    Titlul subiectului:  

Nici eu nu inteleg de ce vrei redirect cu Ajax. O validare cu javascript si apoi submit la form daca totul e ok nu era mai bine? Chiar e multa bataie degeaba. Ori il faci numai Ajax sa stii o treaba ori clasic. Nu am nevoie de loading sa stiu ca imi trimiti mesajul, daca vad pagina ca se... loadeaza :) imi dau seama. Sau... ca tot iti place sa te incurci :) cand apasa submit daca totul e in regula afiseaza o imagine (dummy) de loading dar fara Ajax in spate si de abia cand faci redirectul... trimiti si mesajul in mod clasic, in noua pagina pe care o incarci, fara Ajax.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community