php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.07.2010, 18:58  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Verino Beitrag anzeigen
ich übergebe den Wert doch:

PHP-Code:
<a href="#?pro=1" id="link">Profil</a
Das ist nicht Bestandteil des Querystrings, sondern bereits der Hash-Part der Adresse („Anker“).

Wenn daraus ein GET-Parameter werden soll, muss dein JavaScript das vor der Anfrage irgendwie umsetzen - tut es das?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.07.2010, 20:51  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe bis jetzt weiter probiert und auch einiges nach gelesen.

Selbst mit:

PHP-Code:

echo $_SERVER['QUERY_STRING'];
echo 
$_POST['pro'];
echo 
$_GET['pro'];

$pro $_GET['pro'];
if(
$pro == "1") { 
    echo 
"Dies ist der übergebene Text";

Ich wollte mit dem echo nur sehen welche infos ankommen.
In der php datei zeigt er mir nichts an, also ist dieser schritt in meinen Augen nicht die lösung für das Problem.

hier nochmal der link der das script startet:

PHP-Code:
Variante 1:
<
a href="home?pro=1" id="link">Profil</a>
variante 2:
<
a href="#?pro=1" id="link">Profil</a
Verino ist offline   Mit Zitat antworten
Alt 10.07.2010, 20:56  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@chris:

ich hatte deinen Beitrag erst gelesen nachdem ich meinen abgesendet habe, ich wurde ausgelogged und als ich auf antworten ging loggte ich mich ein und so hab ich ihn übersehen.

Zu deinem Beitrag: es wird nicht umgewandelt, dies übersteigt wirklich meine Kompetenz da ich noch blutiger anfänger bin mit ajax und javascript, aber durch deine tutoriels werd ich sicher bald auch das lösen können.
Verino ist offline   Mit Zitat antworten
Alt 10.07.2010, 21:22  
Erfahrener Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 1.401
PHP-Kenntnisse:
Fortgeschritten
Destruction ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
xmlhttp.open("GET"'ink/profil.php'true); 
...
__________________
"Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]
Destruction ist offline   Mit Zitat antworten
Alt 10.07.2010, 21:35  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das bringt mich an der stelle aber nicht weiter, da es mehrere Links sind die dieses script nutzen.


PHP-Code:
        <a href="home?pro=1" id="link">Profil</a>
        <
a href="home?pro=2" id="link">Fotos</a>
        <
a href="home?pro=3" id="link">Videos</a>
        <
a href="home?pro=4" id="link">Freunde</a
bei allen links wird die selbe .js datei gestartet und ich muss je nach gestartetem link einen anderen wert für por übermitteln damit ich sie später im php script unterscheiden kann welcher link genutzt wurde.

lg
Verino ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:17  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Wenn auf einen dieser Links geklickt wird, dann kannst du in dem Moment den Inhalt des Attributes href auslesen, da findest du auch dein pro=xy-Fragement. Da wirst du also mit Stringfunktionen/regulären Ausdrücken rangehen müssen, und dann übergibst du den Parameternamen und Wert an das Script, das du über XMLHttpRequest ansprichst.


Oder man schreibt gleich die eigentliche Scriptadresse inkl. Parameter in den Link, die die Daten wenn darüber angefordert innerhalb eines normalen HTML-Dokumentes aufbereitet anzeigt. Dann kann man diese Adresse für den XMLHttpRequest-Part gleich übernehmen, gibt noch einen zusätzlichen Parameter ajax=true o.ä. mit, und lässt an hand von dem das gleiche serverseitige Script ein anderes Ausgabeformat liefern (bspw. JSON), mit dem man dann im JavaScript auf der Seite arbeiten kann.
Das wäre auch die deutlich barrierearmere Variante - da kommt man auch an die Daten, wenn JavaScript nicht verfügbar ist, und Suchmaschinen kommen so auch dran.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:31  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, dass krieg ich absolut nicht hin...
Verino ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:40  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich war auf dem trip die get funktion in javasrcipt zu verwenden und das sieht dann so aus:

PHP-Code:
function get_GET_params() {
   var 
GET = new Array();
   if(
location.search.length 0) {
      var 
get_param_str location.search.substring(1location.search.length);
      var 
get_params get_param_str.split("&");
      for(
0get_params.lengthi++) {
         var 
key_value get_params[i].split("=");
         if(
key_value.length == 2) {
            var 
key key_value[0];
            var 
value key_value[1];
            
GET[key] = value;
         }
      }
   }
   return(
GET);
}
 
function 
get_GET_param(key) {
   var 
get_params get_GET_params();
   if(
get_params[key])
      return(
get_params[key]);
   else
      return 
false;
}


function $(
id) {
    return 
document.getElementById(id);
}
 
window.onload = function() {
    $(
'link').onclick = function() {
       
getHttpRequest();
       return 
false;
    }
}
 
function 
getHttpRequest() {
   
    var 
xmlhttp null;
    
// Mozilla
    
if (window.XMLHttpRequest) {
        
xmlhttp = new XMLHttpRequest();
    }
    
// IE
    
else if (window.ActiveXObject) {
        
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
 
    
xmlhttp.open("GET"'ink/profil.php?pro=' get_GET_param("pro") , true);
    

    
xmlhttp.onreadystatechange = function() {
        if(
xmlhttp.readyState != 4) {
            $(
'ergebnis').innerHTML 'Seite wird geladen ...';
        }
        if(
xmlhttp.readyState == && xmlhttp.status == 200) {
            $(
'ergebnis').innerHTML xmlhttp.responseText;
        }
    }
    
xmlhttp.send(null);

er hatte aber immer den Wert false oder 2

die links:

PHP-Code:
        <a href="?pro=1" id="link">Profil</a>
        <
a href="?pro=2" id="link">Fotos</a
Verino ist offline   Mit Zitat antworten
Alt 11.07.2010, 14:04  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

problem ist gelöst, wenn es wen interessiert hier die scripte:

links:

PHP-Code:
    <a href="#?pro=1" id="link1">Profil</a>
    <
a href="#?pro=2" id="link2">Fotos</a>  
        <
a href="#?pro=3" id="link3">Videos</a

js:

PHP-Code:
idArr = new Array("link1","link2""link3");
 
    function $(
id) {
        return 
document.getElementById(id);
    }
   
    
window.onload = function() {       
        for(
0idArr.lengthi++){
            $(
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"'ink/profil.php' getParam true);
         
 
        
xmlhttp.onreadystatechange = function() {
            if(
xmlhttp.readyState != 4) {
                $(
'ergebnis').innerHTML 'Seite wird geladen ...';
            }
            if(
xmlhttp.readyState == && xmlhttp.status == 200) {
                $(
'ergebnis').innerHTML xmlhttp.responseText;
            }
        }
        
xmlhttp.send(null);        
    } 

php:



PHP-Code:
<?php 

$pro 
$_GET['pro'];
if(
$pro == "1") { 
    echo 
"Dies ist der übergebene Text";
}
if(
$pro == "2") { 
    echo 
"Dies ist der übergebene Text2";
}
if(
$pro == "3") { 
    echo 
"Dies ist der übergebene Text3";
}
?>
Verino ist offline   Mit Zitat antworten
Antwort


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
Bilderladen DarkManX HTML, Usability und Barrierefreiheit 2 26.02.2008 07:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
js bilder laden

Alle Zeitangaben in WEZ +2. Es ist jetzt 08: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