Dynamische Webseite

das ist auch ein sehr schöner tipp.
ich habe jetzt zb mal die ajax variante getestet, nur hat sich daraus ein neues prob herausgestellt. und zwar kann ich jezt super meine daten laden, aber wenn ich mich registrieren will, bzw einloggen, geht das garnicht mehr. wie kann ich den jetzt den button sagen, das er auf der seite ?link=4 bleiben soll und dabei trozdem die werte aus den inputfelder senden soll?
danke schonmal im voraus.
lg
 
die sache ist die, dass ich erstmal keine bibliotheken nutzen will, da ich erstmal so lernen will, wie alles geht. an jquery mache ich mich evtl später mal, da ich so schon keine ahnung von ajax habe. aber trotzdem vielen dank.
ich werde mal mit etwas code posten, vllt hilft euch das ja.
Code:
idArr = new Array("Startseite", "News", "Registrieren", "Screenshots");
 
    function $(id) {
        return document.getElementById(id);
    }
   
    window.onload = function() {       
        for(i = 0; i < idArr.length; i++){
            $(idArr[i]).onclick = function() {
               getHttpRequest(this.href);
               return false;
            }          
        }              
    }
   
    function getHttpRequest(url){
        getParam = url.substr(url.indexOf('?'));
       
        var xmlhttp = null;
        // Mozilla
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        }
        // IE
        else if (window.ActiveXObject) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
     
        xmlhttp.open("GET", 'functions/ajax.inc.php' + getParam , true);
         
 
        xmlhttp.onreadystatechange = function() {
            if(xmlhttp.readyState != 4) {
                $('inhalt').innerHTML = 'Seite wird geladen ...';
            }
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                $('inhalt').innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.send(null);        
    }
	function evalScript(scripts)
{	try
	{	if(scripts != '')	
		{	var script = "";
			scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
	       	                         if (scripts !== null) script += arguments[1] + '\n';
 	        	                        return '';});
			if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
		}
		return false;
	}
	catch(e)
	{	alert(e)
	}
}
hierbei handelt es sich um die datei ajax.js.
PHP:
if($_GET['link'] == 1) include('../module/daten1.php');
elseif($_GET['link'] == 2) include('../module/daten2.php'); 
elseif($_GET['link'] == 3) include('../module/daten3.php'); 
elseif($_GET['link'] == 4) include"../templates/registrieren.html";
hier wird der querystring geprüft. es handelt sich in diesem fall um den vierten, der wichtig ist.
HTML:
?php
require_once("../functions/reg.php");
?>
<form action="" method="get" name="regFormular">
    <input type="text" name="userName" />
    <input type="password" name="userPass[]" />
    <input type="password" name="userPass[]" />
    <input type="text" name="userMail" />
    <input type="checkbox" name="agb" value="1" />
    <input type="submit" name="regSenden" value="Registrieren"  />
</form>
der inhalt wird immer in den <div> inhalt geladen. auch das geht noch gut, aber wenns dann an das senden es formulars geht, habe ich das prob, das jetzt nicht mehr der query ?link=4 gesendet wird, sondern wie es sich gehört die form daten. allerdings springt er so wieder auf die startseite, wo erstens das formular weg ist und zweitens keine verarbeitung statt findet.
hoffe, dass das zu verstehn ist was ich mein^^
edit: heißt eig ich möchte iwi zwischenspeichern, auf welcher seite ich gerade bin und diese dann immer beibehalten, außer ich wechsel sie über einen link zu einer anderen seite^^
 
Zuletzt bearbeitet:
Ich würde auf jedenfall bei dem form mit POST und nicht mit GEt arbeiten, das nur mal am rande, habe die aber ne mail geschickt.
 
Ich glaube mod_rewrite ist eher das was du suchst und um einiges einfacher...

Was du damit machen kannst:
Du kannst die Links "verschönern". Sprich ein http://www.homepage.com/index.php?site=fotos kann in http://www.hompage.com/fotos
geändert werden. So wie ich dich verstanden habe, ist es das was du möchtest?! Mehr dazu: http://de.wikipedia.org/wiki/Rewrite-Engine

Somit kannst du deine Seite ganz einfach und normal aufbauen. Im index.php die Get-Variabel abfragen und die entsprechende Datei includen.


Gruss DexXxtrin
 
Zurück