php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.01.2010, 17:21  
Neuer Benutzer
 
Registriert seit: 13.10.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Bexsta befindet sich auf einem aufstrebenden Ast
Standard weiterleitung nach echo ausgaben

Hallo..

habe bereits die suche benutzt bin aber nicht auf das passende ergebnis gestoßen.

meine frage:
habe per ajax eine php datei geladen um die daten eines mailformulares zu verschicken. gebe in der php datei aus ob es erfolgreich war oder nicht dann sollte nache ine kurzen zeitspanne eine weiterleitung erfolgen.

mir is bekannt das header nach dem bereits etwas ausgeben wurde nicht mehr funktionieren kan! wie kan ich das nun lösen?
Bexsta ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.01.2010, 17:28  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.240
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Der Header funktioniert bei Ajax grundsätzlich nicht, da er keine Auswirkung auf das Dokument hat. Wie hast du es denn im Moment umgesetzt, dass "erfolgreich" ausgegeben wird? Richtig, du hast eine Callback-Funktion, die dir das ausgibt. In genau jene machst du mit Javascript-Mitteln (Timer setzen) eine Weiterleitung rein. PHP hat wegen des Ajax-Aufrufs keinerlei Einfluss drauf.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 11.01.2010, 17:28  
Erfahrener Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 1.401
PHP-Kenntnisse:
Fortgeschritten
Destruction ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gute Weiterleitung, böse Weiterleitung (Redirect per Meta-Tag, JavaScript, htaccess und PHP)
__________________
"Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]
Destruction ist offline  
Alt 11.01.2010, 17:30  
Erfahrener Benutzer
 
Registriert seit: 23.08.2009
Beiträge: 241
PHP-Kenntnisse:
Fortgeschritten
MasterD wird schon bald berühmt werden
MasterD eine Nachricht über ICQ schicken
Standard

@mepeisen: Rückzug is einfacher
Ansonsten musst du eben auf Ajax verzichten bzw nen Refresh-Button setzten oder vll ne Session setzten, auf die die Seite regieren könnte.

Aber dieses Thema gehört wahrscheinlich sowieso eher in den Javascript bereich

Master

Geändert von MasterD (11.01.2010 um 17:58 Uhr).
MasterD ist offline  
Alt 11.01.2010, 17:33  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.240
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von MasterD Beitrag anzeigen
Du kannst ja mal nen javascript page reload veruschen, wobei der wahrscheinlich nur auf den mit ajax nachgeladenen Content reagiert
Denk ncohmal über diesen Satz nach und ziehe ihn entweder zurück oder denke nochmal drüber nach. Das hast du sicher völlig anders gemeint als du hier formuliert hast
Zumindest passt der zweite Teilsatz absolut nicht zu deinem danach geposteten JavaScript-Fragment
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 11.01.2010, 17:39  
Neuer Benutzer
 
Registriert seit: 13.10.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Bexsta befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mepeisen Beitrag anzeigen
Der Header funktioniert bei Ajax grundsätzlich nicht, da er keine Auswirkung auf das Dokument hat. Wie hast du es denn im Moment umgesetzt, dass "erfolgreich" ausgegeben wird? Richtig, du hast eine Callback-Funktion, die dir das ausgibt. In genau jene machst du mit Javascript-Mitteln (Timer setzen) eine Weiterleitung rein. PHP hat wegen des Ajax-Aufrufs keinerlei Einfluss drauf.
in der von ajax geladenen php wird einfach nur geprüft ob das versenden erfolgreich oder nicht erfolgreich war und dann wird ein ehtsprechende ausgabe gemacht!

habe das leider mit der callback funktion nicht ganz verstanden, vielleicht ist das wirklich der bessere weg:

hier mal der ajax code,
vielleicht kan mir ja jemand kurz erläutern wie das funktioniert, bin da erst ganz neu drane und habe genau denn part mit der callback funktion nicht ganz verstanden, da ich es immer so gemacht hätte das die funktion nicht mehr für verschieden aktionen oder anwendungen genutzt werden kan!?

Code:
function sendeHTTPRequest(methode,url,postVars){
		
		var meinRequest = false;
		if (window.XMLHttpRequest){
				
				meinRequest = new XMLHttpRequest();
				
		}
		else if (window.ActiveXObject){
				
				try{
					
					meinRequest = new ActiveXObject('Msxml2.XMLHTTP');
					
				}
				catch (e){
						try{
								meinRequest = new ActiveXObject('Microsoft.XMLHTTP');	
						}
						catch(e){} // hoffnungsloser Fall
				}
		}
		if (!meinRequest){
			alert('Ihr Browser kann offenbar kein Ajax');
			return false;
		}
		
		meinRequest.open(methode.toUpperCase(),url,true);
		
		if (meinRequest.overrideMimeType){
			meinRequest.overrideMimeType('text/html');	
		}
		
		if (methode.toUpperCase() == 'POST'){
			
			meinRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	
		}
		
		meinRequest.onreadystatechange = function(){
			statusWechsel(meinRequest);
		}
		
		meinRequest.send(postVars);
		return true;
}

function statusWechsel(meinRequest){
		if 	((meinRequest.readyState==4) && (meinRequest.status == 200)){
										
							var response = meinRequest.responseText;
							document.getElementById('bodycon').innerHTML=response;

		}
}
Bexsta ist offline  
Alt 11.01.2010, 17:52  
Neuer Benutzer
 
Registriert seit: 13.10.2009
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Bexsta befindet sich auf einem aufstrebenden Ast
Standard

mein gescheiterter versuch war das aus php ein bool wert zurück gegeben wird und dannach eine entsprechende handlung gemacht wird! jedoch ist damit die funtion nicht mehr allgemein tauglich!

deshalb auch der versuch das ganz in der php datei zu lösen!

ein kleines bsp wäre sehr nett wie das richtig aussehen könnte!

aso..sry es scheint wohl doch in der falschen rubrik zu sein!
Bexsta ist offline  
Alt 11.01.2010, 23:52  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Code:
function statusWechsel(meinRequest){
		if 	((meinRequest.readyState==4) && (meinRequest.status == 200)){
										
							var response = meinRequest.responseText;
							document.getElementById('bodycon').innerHTML=response;

		}
}
In der Funktion tust du etwas wenn der Request beendet wurde, richtig?

Warum machst du dort nicht mittels document.location.href = ''; die Weiterleitung? ODER, wenn der Benutzer noch Zeit haben soll die Ausgabe zu sehen, mit window.setTimeout() nach z.B. 2,5 Sekunden eine Weiterleitung?
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe erfolgt nicht Extremefall PHP Tipps 2009 17 17.12.2009 19:51
Login-Script in Ordnung? Silent PHP Tipps 2009 73 26.11.2009 01:02
Datenbank automatisch abrufen djsky PHP Tipps 2009 4 04.10.2009 21:54
Link mit ID in Echo einbinden Mitch26 PHP Tipps 2009 4 06.08.2009 17:02
[Erledigt] Einzelnen DB-Eintrag über ID anzeigen Knutschi PHP Tipps 2009 6 26.03.2009 09:56
Datenbankaufbau und Eintrag? 22hase Datenbanken 5 04.01.2009 15:18
Hash-Werte Raito PHP Tipps 2008 10 07.04.2008 15:47
Textarea und > PHP-Fortgeschrittene 9 07.02.2006 00:34
Problem mit While-Schleife PHP Tipps 2007 5 27.12.2005 20:02
[Erledigt] Formular formatieren HTML, Usability und Barrierefreiheit 5 30.01.2005 13:45
get und if funktion PHP Tipps 2004 14 23.09.2004 04:01
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
Datenbankergebnis in Array und per Index darauf zugreifen PHP Tipps 2004 7 30.07.2004 18:39
[Erledigt] Datenübergabe PHP Tipps 2004 2 20.07.2004 19:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php weiterleitung nach ausgabe, php echo weiterleitung, php weiterleitung nach 5 sekunden, php weiterleitung nach echo, echo weiterleitung, http://www.php.de/php-einsteiger/63255-weiterleitung-nach-echo-ausgaben.html, ajax weiterleitung, php redirect nach ausgabe, weiterleitung mit php echo, header nach echo, echo weiterleitung php, javascript weiterleitung nach 5 sekunden, weiterleitung nach ausgabe, php nach ausgabe weiterleiten, php weiterleitung mit ausgabe, php weiterleiten nach ausgabe, php weiterleitung nach ausgabe echo, redirect nach ausgabe php, weiterleitung in php echo, weiterleitung nach echo

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum