PHP Include ändern mit Ajax/JS

typhoch2

Grünschnabel
Hey Leute ich stehe vor einem kleinen Problem. Ich habe eine index.php, die im Content-Bereich ein include($content.".php"); stehen hat. die Variable content wird über get content geholt. So hole ich mir je nach klick der Navi meine Phps rein, die ich benötige. Also index.php?content=home holt mir die Startseite usw...

Nun möchte ich gerne, dass wenn ich auf Home klicke via Ajax die Seite geholt wird, ohne dass ich neuladen muss und das für alle Bereiche der Navi. Ist sowas überhaupt möglich, oder kann man solche Seiten nicht nachladen? In den Php's die nachgeladen werden sollen sind einige variablen drin, die ich aber mitsenden kann, so dass die fertig ausgeführte Php nur ncoh geladen werden muss.

Ich hoffe ich habe mich verständlich ausgedrückt.

PS:

Ich benutze jQuery 1.4.1 und wie kann ich ganze php Dateien an JS senden?
 
Ich kenne mich (noch) nicht mit jQuery so gut aus, kann aber folgendes sagen:

Du solltest auf keinen Fall den Namen durch GET einfach übernehmen, stattdessen solltest du eine Liste mit den erlaubten machen und per in_array prüfen, ob GET gültig ist.
 
Ja weiß ich, habe ich auch schon gemacht, das ist nur eine vereinfachte Weise meiner Frage.

$pages = array('partner',...)
if(!in_array($content =$_GET[content], $pages))
die('Ung?ltige Seite angefordert.');

Aber danke für den Tipp.
 
Ich habe es nun so gemacht, dass ich die Seiten einfach mit load reinlade, habe aber nun ein riesengroßes Problem:

PHP:
$(document).ready(function() {
$('#container').load('home.php');



// newest mit der id newest, die erst in der home.php auftaucht...
    $("#newest").click(function(){
        $("#categoriesmenu").hide("fast");
    });

}

Das heißt, dass die click-function auf newest vollkommen wirkungslos ist, da sie erst mit der home.php reingeladen wird. Kann man das iwie umgehen?

Oder iwie anders lösen ohne nen load?

MfG
 

Neue Beiträge

Zurück