php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-05-2009, 10:14
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard AJAX Installationsroutine über POST aus PHP

Guten Morgen allerseits.

Ich arbeite derzeit daran, eine Installation für mein Projekt zu schreiben und würde das ganze gerne mit AJAX ein bisschen "schöner" gestalten.

Das ganze soll im Endeffekt so funktionieren, dass der User die Installation ganz normal durchläuft, also Daten in ein Formular schreibt, auf Weiter klickt, noch ein paar Daten eingibt, usw.

Die Daten werden dabei von Formular zu Formular über POST weitergegeben (input type hidden), sodass ich im letzten Stadium der Eingabe quasi ein relativ großes Array an Daten habe, die ich jetzt in die Datenbank eintragen möchte (und davor natürlich noch die nötige DB-Struktur erstellen will).


Der normale Weg wäre nun einfach die letzte Seite der Installation aufzurufen und alles einfach mit normalen Querys einzutragen. Das ist für meinen Geschmack aber weder schön noch dem User zugänglich.


Daher habe ich mich entschieden, eine Progressbar zu erstellen, die anzeigt, was das Skript gerade macht und wieviel vom Gesamtprozess dies ist.

Das könnte ich zwar auch mit ständigem Reloaden (header location) machen, jedoch habe ich nun entdeckt, dass man dafür auch AJAX verwenden könnte.


Mein Problem ist nun einfach, wie ich mein POST-Array in das AJAX-Skript reinbekomme. Da es sich bei den Daten auch um sensible Passwörter handelt, würde ich das ungern über GET-Parameter lösen, was zwar einfacher, aber (nehme ich an?) unsicherer wäre.


Ich hoffe, jemand versteht mein Problem und kann mir halbwegs nachvollziehbar erklären, wie ich auf meine POST-Daten in meinem AJAX-Skript zugreifen kann.
Mit Zitat antworten
  #2 (permalink)  
Alt 18-05-2009, 10:16
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Dir ist aber schon klar, dass das XMLHttpRequest-Objekt auf die POST-Methode verwenden kann?
Mit Zitat antworten
  #3 (permalink)  
Alt 18-05-2009, 10:35
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Ist es. Ist es?

Aber wie? Ich meine, alle Beispiele die ich bisher gelesen habe, haben die POST-Daten direkt von einem Formular übergeben bekommen, aber es war nie ein Code-Schnipsel drin aus dem ich klar lesen konnte, dass es die POST-Daten in AJAX speichert?!

Tut mir Leid, ich beschäftige mich grade vll. das zweite Mal mit AJAX ;-)

Mein Kentnisstand ist momentan eigentlich so:

Der Server ruft die PHP-Datei auf. AJAX wird dann erst bei der Ausgabe geladen, ist ja schließlich eigentlich nichts anderes als JS.

So, jetzt ruft AJAX eine neue PHP-Datei auf (bei mir z.B. "installer.php") und übergibt Daten per GET oder POST.
Bei GET ist die Sache einfach, der Aufruf wird einfach nicht "installer.php" sondern halt "installer.php?step=1" genannt.

Aber wie krieg ich meine POST-Daten in diese durch AJAX aufgerufene Datei rein?


Vielleicht steh ich grade einfach enorm auf dem Schlauch oder "RTFM" nicht richtig befolgt, jedoch erschließt mich mir gerade keine schlüssige Lösung, die ich aus deiner Antwort ziehen könnte :-(
Mit Zitat antworten
  #4 (permalink)  
Alt 18-05-2009, 10:39
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

schau dir mal das tutorial an, da werden daten per post übergeben. und du erfährst, auf was du dabei zu achten hast.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 18-05-2009, 11:01
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Okay, die Frage ist jetzt nur für mein Verständnis:

Sehe ich das so richtig, dass ich selbst wenn ich das PHP-Skript mit POST-Daten füttere, im Prinzip die POST-Daten erstmal in einen GET-String umwandeln muss?
Mit Zitat antworten
  #6 (permalink)  
Alt 18-05-2009, 11:20
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ApoY2k Beitrag anzeigen
Okay, die Frage ist jetzt nur für mein Verständnis:

Sehe ich das so richtig, dass ich selbst wenn ich das PHP-Skript mit POST-Daten füttere, im Prinzip die POST-Daten erstmal in einen GET-String umwandeln muss?
vom prinzip her musst du dir das so vorstellen. und natürlich den entsprechenden header mitsenden.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 18-05-2009, 16:23
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ApoY2k Beitrag anzeigen
Sehe ich das so richtig, dass ich selbst wenn ich das PHP-Skript mit POST-Daten füttere, im Prinzip die POST-Daten erstmal in einen GET-String umwandeln muss?
Du siehst richtig, dass dein Browser das im Prinzip ganz genauso macht, wenn du ein Formular per POST versendest, ohne AJAX.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 22-05-2009, 10:28
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Okay, ich steige so langsam durch die ganze Geschichte =)

Einige Fragen hätte ich allerdings noch. Wenn man die POST-Daten in einen String umwandelt, wird der in irgendeiner Form escaped?

Angenommen z.B. ich habe einen langen Text, in dem diverse ' " \ / oder sonstige lustige (böse) Zeichen vorkommen, zerstört der mir dann nicht meinen String?

Oder noch schlimmerer Fall: Was passiert, wenn in den Daten eines Feldes (z.B. wenn man in ein Textfeld Quellcode eingibt, und das per AJAX-POST ausgewertet werden soll), und in diesem Text findet sich auf einmal ein "&daten=wert" – was ja aber garnicht ein "wirkliches" Feld meines Strings darstellt?!
Mit Zitat antworten
  #9 (permalink)  
Alt 22-05-2009, 12:09
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

schon mal ausprobiert? btw: mit firebug (konsole) kannst du das wunderbar auswerten

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #10 (permalink)  
Alt 22-05-2009, 18:10
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ApoY2k Beitrag anzeigen
Wenn man die POST-Daten in einen String umwandelt, wird der in irgendeiner Form escaped?
Ja - in der gleichen Weise, wie bei GET.

encodeURIComponent
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 26-05-2009, 12:07
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

So, ich melde mich mal wiede zurück =)

Bin soweit echt super durchgekommen, riesen herzlichen Dank erstmal (dein Tutorial ist wie immer Klasse, auch wenn ich anmerken möchte, dass es manchmal doch etwas zu viele "…" in den Beispielskripts gibt für meinen Geschmack)

Dennoch, soweit funktioniert alles perfekt.


Ich schreibe jetzt noch alles auf jQuery-AJAX um, macht echt unglaublich viel einfacher.


Mein jetziges (neues *jipiieh*) Problem ist, dass ich versuchen möchte, eine Art CallBack-Function hinzuschneidern.


Im Grund soll das ganze so laufen (Pseudocode):

Code:
function ajaxProgress(file_name, progress_steps, function callBack())
{
 … ajax script …
 … wenn das ajax script fertig ist (also alle x="progress_steps" durchlaufen sind), soll eine vom user definierte funktion aufgerufen werden (der dritte parameter) …
 if (progress_steps == x) {
  callBack();
 }
}
Für denjenigen, der die Funktion anwendet, soll es dann sozusagen ugf. so aussehen:

Code:
ajaxProgess("ajax_request.php", 10, function () {
 … irgendwas machen, wenn ajax fertig ist …
});
Ich sehe diese Methode sehr häufig bei jQuery-Funktionen, komm aber leider nicht dahinter, wie man das selbst umsetzten kann :-/
Mit Zitat antworten
  #12 (permalink)  
Alt 26-05-2009, 13:07
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ich schreibe jetzt noch alles auf jQuery-AJAX um, macht echt unglaublich viel einfacher.
...
Ich sehe diese Methode sehr häufig bei jQuery-Funktionen, komm aber leider nicht dahinter, wie man das selbst umsetzten kann :-/
Das hast du nun davon. bei jquery kann ich dir leider nicht helfen, ich programmier so was selber

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #13 (permalink)  
Alt 26-05-2009, 13:19
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Hihi, ich sagte ja auch nur, dass ich es dort gesehen habe ;-)

Aber selbst das muss ja auch auf irgendeiner Funktionalität von JS basieren, dass man einer Funktion eine weitere Funktion als Parameter übergeben kann?!
Mit Zitat antworten
  #14 (permalink)  
Alt 26-05-2009, 14:22
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Du musst den callback-Parameter nicht typisieren, wie kommst du auf sowas?
So sollte es aussehen:
PHP-Code:
function foo(callback) {
    
callback();
}

foo(function() {
    
alert('callback');
}); 
Mit Zitat antworten
  #15 (permalink)  
Alt 26-05-2009, 14:53
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Ja wie gesagt; hatte keine Ahnung wie man sowas anstellt. War für mich nur verwirrend, wenn das einfach so wie ein normaler Parameter drinsteht, da es ja eigtl keine Variable ist…

Allerdings erhalte ich nun folgenden Fehler, wenn ich das genau so schreibe wie in deinem Beispiel…

Code:
TypeError: Result of expression 'ajaxEnd' [undefined] is not a function.

Code der AJAX-Funktion wäre:
Code:
function ajaxRun (file, steps, ajaxEnd)
{
 … ajax zeug …
 … wenn alle "steps" durchlaufen sind
 {
  ajaxEnd();
 }
}
Der Aufruf erfolgt folgendermaßen:
Code:
ajaxRun ('ajax_request.php', 10, function () { … wenn ajax fertig ist etwas machen });

Geändert von ApoY2k (26-05-2009 um 14:55 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
http post via php über proxy? javatis PHP Developer Forum 11 16-10-2007 22:32
[ajax] Post-Problem in php php-sebi HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 3 19-08-2006 02:23
Brauche Infos über Header und AJAX webcool Off-Topic Diskussionen 4 15-04-2006 03:29
XML - Schnittstelle über HTTPS-POST hrttoz XML 5 03-01-2006 15:37

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

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