zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Seiteninhalt mit PHP nachladen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 18.08.2015, 17:42
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard Seiteninhalt mit PHP nachladen

Hallo,

ich habe ein Problem und bin nicht ganz sicher wie man das löst.

Ich habe hier eine Seite, welche 3 spaltig ist. Links befindet sich das Menü, in der Mitte der Inhalt und Rechts die Hilfe.

Normal lasse ich nur den Inhalt dynamisch nachladen und nutze dafür Ajax.

Nun ist es so, das in der Mitte ein Formular steht. Nennen wir die Seite formular.xhtml.

Hier werden Daten eingegeben in per Submit Button wird die Seite data.php aufgerufen, die diese verarbeitet und in eine Datenbank schreibt und daraus neue Daten holt. Diese sollen nun auf einer folgenden Seite angezeigt werden.

Problem ist nur, das der Button ja die Seite data.php aufruft, die ja eigentlich keinen Inhalt hat. Eigentlich sollte aber nur die mittlere Spalte neu geladen werden und die Menüleiste und die Hilfeleiste erhalten bleiben.

Wie geht man hierbei am besten vor?

Viele Grüße,
Parallax
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 19.08.2015, 10:04
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.372
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Du könntest / solltest einen Ansynchronen Request vom Formular aus an die data.php schicken, dort die Daten auswerten, die eMail verschicken und eine Erfolgsmeldung ausgeben. Oder halt die Fehlermeldung zurückgeben.
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 26.08.2015, 23:42
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard

Danke,

ich denke das war das, was ich gesucht habe
Mit Zitat antworten
  #4 (permalink)  
Alt 10.09.2015, 10:48
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard

Ich habe noch eine Frage zu AJAX...

und zwar, wenn ich mit der POST Methode Daten an ein PHP Skript versenden will, gehe ich wie folgt vor.

reqObj.open("POST", "phpfile.php", true);
reqObj.setRequestHeader("name","value");
reqObj.send("...");

die erste Zeile is klar, bei der zweiten habe ich Schwierigkeiten. Dort heißt es im Netz immer man muss hier einen Headernamen und einen Wert dazu eingeben. Für was sind diese Angaben und welche Werte sind gültig und was tuen die?

Die dritte Zeile ist eigentlich auch klar, hier kann ich nun Daten verschicken mit
var1 = 5 usw usw... was ist aber wenn ich keinen festen Wert sondern den Wert einer Variable verschicken möchte.

kann ich da einfach hinschreiben var1=varInput1, für den Fall das varInput1 eine JS Variable ist?

Grüße,
Parallax
Mit Zitat antworten
  #5 (permalink)  
Alt 10.09.2015, 11:56
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Sehr unspezifisch die Fragen.

Die erste Frage findest du auf Wikipedia https://de.wikipedia.org/wiki/Liste_...P-Headerfelder

Die zweite ist etwas ausfühlircher aber wird in jeder Doku auch erklärt https://developer.mozilla.org/en-US/...est#send%28%29

Du musst aber darauf achten, dass Parameter die du sendest auch richtig kodiert werden, damit auch Sonderzeichen auf dem Server richtig ankommen.

Dein Beispiel zeigt übrigens ein synchronen Aufruf, ist also kein AJAX. Diese vorgehensweise solltest du dir überlegen, denn es kann den Browser blockieren, wenn z.b. der Server down ist.
Mit Zitat antworten
  #6 (permalink)  
Alt 10.09.2015, 13:51
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard

Ok, passt... Das funktioniert jetzt so weit, danke...

ein Problem ist jedoch aufgetaucht

bei

reqObj.send("email="+varemail);

wird brav der Inhalt der Variable varemail übertragen und im PHP Skript mit

$_POST['email'] wieder ausgelesen.

nun möchte ich aber mehrere Daten übertragen, wie funktionert das?

ich habe es mit

reqObj.send("email="+varemail&"name="+varname);

probiert, aber das geht nicht...

EDIT: Ok, schande über mein Haupt... hab das zweite + vergessen....
die Zeile lautet jetzt
reqObj.send("email="+varemail+"&name="+varname);

und schon gehts.... danke nochmal

Geändert von Parallax (10.09.2015 um 14:01 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 10.09.2015, 14:14
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das ist genau das was ich mit richtiger Kodierung gemeint habe. Wenn du die Daten so ungefiltert sendest kommen sie nicht korrekt an.

Code:
// Parameter kodieren
var encode = window.encodeURIComponent; 
function p(param) {
	var tmp = [];
	for(var a in param) {
		tmp.push(encode(a) + '=' + encode(param[a]));
	}
	return tmp.join('&');
}

reqObj.send(p({email: varemail, name: varname}));
Mit Zitat antworten
  #8 (permalink)  
Alt 01.10.2015, 11:15
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard

Ich hatte noch eine weitere Frage dazu....

Im Moment habe ich ein Formular, in welches ich Daten eingebe, diese werden dann von JS erfasst und per XMLHTTPRequest an ein PHP Skript gesendet...
Nun können Rückmeldungen auftreten, wie zum Beispiel eine fehlerhafte Formulareingabe....

Dazu nehme ich in JS wieder den ResponseText und gebe diesen in einem DIV mit .innerHTML aus.....

Soweit so gut... Wenn alle Daten korrekt sind, möchte ich auf eine andere Seite weiterleiten.... Dazu gebe ich einen ResponseText zurück der ungefähr so lautet könnte.. ("input_user_correct")... Wenn dieser ResponseText von einer If abfrage detektiert wird, hole ich mir mit einem weiteren XMLHTTPRequest eine neue Seite und zeige diese im body an...
Nun meine Frage: kann ich auch gleich in PHP auf eine andere Seite verlinken, ohne den Umweg über JS gehen zu müssen....

Grüße,

Parallax
Mit Zitat antworten
  #9 (permalink)  
Alt 01.10.2015, 11:30
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Parallax Beitrag anzeigen
Nun meine Frage: kann ich auch gleich in PHP auf eine andere Seite verlinken, ohne den Umweg über JS gehen zu müssen....
So wie du es jetzt machst, nein.
Aber warum holst du die neue Seite per AJAX, wenn du lieber weiterleiten möchtest?
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 01.10.2015, 11:45
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.03.2015
Beiträge: 56
Parallax befindet sich auf einem aufstrebenden Ast
Standard

Ich habe 3 Spalten auf der Seite, welche unterschiedliche Informationen und Eingaben beinhalten... Bei der Eingabe möchte ich nur die mittlere Spalte neu laden, die anderen beiden bleiben so wie sie sind...

Der ResponseText enthält dann die Fehlermeldungen von PHP... wenn alles ok ist hol ich in die nächste seite mit AJAX in die mittlere spalte...
soweit funktioniert das alles super... nur am ende der eingaben nach x seiten möchte ich auf eine komplett andere Seite umleiten... Und das am besten von PHP aus...
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
xampp und PHP 5.6 laborix Serveradministration und serverseitige Scripte 2 01.12.2014 09:46
Content nachladen statt mit PHP kochi_rulez Javascript & Ajax 3 10.11.2008 20:14
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Browserkonflikt Spyder CSS 6 24.09.2007 14:07
Positionierung eines Kastens... Spyder CSS 11 18.09.2007 19:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:54 Uhr.