Funktionsaufruf mit Parameter 'von außen'

Hallo,

ich habe gerade mein erstes kleines PHP-Dokument gebastelt, und es geht auch wunderbar. Allerdings weiß ich jetzt nicht so recht, wie ich folgendes hinbekomme:

Ich habe einen Frame mit Links der folgenden Art:

href="Seite.html#Ankername" target="andererFrame"

Nun habe ich aus Seite.html einfach Seite.php gemacht, was auch funktioniert, nur der Anker geht nicht mehr (was ich auch nicht wirklich erwartet hatte).
Kann man das trotzdem irgendwie realisieren, daß die Seite beim Anzeigen zu einer bestimmten Position gescrollt wird?

Und eine zweite Frage:

Alternativ wollte ich von Seite.html eben nur den Block darstellen, der gebrauct wird, so daß ich den Anker nicht brauche zum Scrollen. Dazu muß aber die PHP-Funktion einen Parameter bekommen, der den gewünschten Block angibt. Wie kriege ich die diesen Parameter sozusagen vom Link aus dem ersten Frame in die Funtion innerhalb von Seite.php, die im zweiten Frame dargestellt werden soll?

War das halbwegs verständlich?

Danke für Tipps,
Kristian

Nun habe ich aus Seite.html einfach Seite.php
gemacht, was auch funktioniert, nur der Anker geht nicht mehr
(was ich auch nicht wirklich erwartet hatte).

Müßte eigentlich gehen! Steht dann der Anker auch noch richtig im Quellcode? (Link zeigt auch auf seite.php#anker ??)

Wie kriege ich die diesen Parameter sozusagen vom Link aus dem
ersten Frame in die Funtion innerhalb von Seite.php,
die im zweiten Frame dargestellt werden soll?

den Link setzen auf seite.php?block=blockname

Dann kannst du auf der seite.php mit $_GET[„block“] den Wert auslesen!

Wars so gemeint?

mfg Slick

Danke, das war´s, aber es funktioniert noch nicht.

den Link setzen auf seite.php?block=blockname

Dann kannst du auf der seite.php mit $_GET[„block“] den Wert
auslesen!

Moin Slick,

so war´s gemeint, ja, und ich hätte zumindest auf seite.php?block=blockname noch selber kommen können :wink: Aber das mit dem $_GET[""] macht mir nun Schwierigkeiten. Ich dachte, ich könnte nun folgendes schreiben:

$CalledUser = $\_Get["user"];

oderso, aber das bringt nur die Fehlermeldung Notice: Undefined variable: _Get in C:… .
Verwende ich eine falsche Syntax, oder woran kann das liegen?

Übrigens zum Anker nochmal: Der Aufruf „Contacts. html #kzarse funktioniert, wenn ich eine reine HTML-Datei vorliegen habe. Mit „Contacts. php #kzarse wird es jedoch nichts, obwohl die PHP-Datei den selben Code erzeugt, in dem die einzelnen Anker wie folgt definiert sind:

Kristian Zarse

Kristian

Hallo !

das bringt nur die Fehlermeldung Notice: Undefined
variable: _Get in C:…
.

Dann nenne die doch mal $_GET[…], PHP unterscheidet Groß-/Kleinschreibung.

Übrigens zum Anker nochmal: Der Aufruf
„Contacts. html #kzarse funktioniert, wenn ich
eine reine HTML-Datei vorliegen habe. Mit
„Contacts. php #kzarse wird es jedoch nichts,
obwohl die PHP-Datei den selben Code erzeugt, in dem die
einzelnen Anker wie folgt definiert sind:

Kristian Zarse

Eigentlich komisch, #Anker sollte auch mit PHP gehen (gerade probiert, zumindest mit Mozilla geht’s). Sicher, das der -Tag in der Datei auch erzeugt wird ?

Alexander

geht nicht wirklich
Hallo, das mit der Großschreibung ging zunächst, allerdings funktionierte es komischerweise nur, wenn ich einen bestimmten Paramter übergeben hatte. Andere wurden ignoriert.
Inzwischen werden geht´s gar nicht mehr, und es kommt die Meldung „Notice: Undefined index: user in C:…“.

Umgebung: Xitami-Server auf Win98, PHP4 aus´m Netz, IE6 bzw. Netscape 4.7

Kristian

Andere Parameter? Also du hast es schon in der Form probiert oder:

z.B. URL: http://server/index.php?user=Kristian&block=email&sonstwas=1

wäre im Script:

$user = $_GET[„user“];
$block = $_GET[„block“];
$sonstwas = $_GET[„sonstwas“];

Probiers dochmal wie folgt in diesem Script am Angang:

echo „[pre]“;
var_dump($_GET);
echo „[/pre]“;
exit;

Natürlich mit eckigen Tag-Klammer statt [] (wegen Forum).

So sieht Du zumindest ob die Variabeln richtig ankommen! (Natürlich mit Parametern in der URL aufrufen!)

In var_dump() kannst Du übrigens alles reinwerfen…

Kannst ja mal damit den Fehler suchen, also verschiedene Variablen prüfen… (u.A. evt. sinnvoll für deine Pfadangaben, oder was auch immer da so schiefläuft…)

mfg Slick

geht alles net …
Hallo,

ganz auf die Schnelle mal der abgespeckte Code:

<?PHP function WriteTeamMember()<br />{
 Global $ID,
 $Forename,
 $Surname,
 $Function,
 $CalledUser,
 $SQL\_Exec\_String;
 // usw.
 
 echo "

$ID: Hier kommt dann der HTML-Code hin, gespickt mit den Variablen.  
" . $CalledUser . "  
" . $SQL\_Exec\_String . "";  
}  
   
$CalledUser = $\_GET["user"];  
   
if ($CalledUser != "") { $WhereString = " WHERE CDSID = '" . $CalledUser . "'"; }  
else { $WhereString = ""; }  
   
$cnx = odbc\_connect('Chassis\_Team\_Members','','');  
$SQL\_Exec\_String = "SELECT \* FROM Team\_PZ12" . $WhereString;  
$cur= odbc\_exec( $cnx, $SQL\_Exec\_String );   
   
while( odbc\_fetch\_row( $cur ) )  
{   
/\*  
\*/  
 $ID = odbc\_result( $cur, "ID" );  
 $Forename = odbc\_result( $cur, "Forename" );  
 $Surname = odbc\_result( $cur, "Surname" );  
 $Function = odbc\_result( $cur, "Function" );  
 // usw.  
  
 if ($Function == "Supervisor")  
 {  
 $\_Color = "#AA5555";  
 }  
 else  
 {  
 if ($Function == "FCG (Trainee)")  
 {  
 $\_Color = "#707070";  
 }  
 else  
 {  
 $\_Color = "#00408A";  
 }  
 }  
  
 WriteTeamMember();  
}   
   
//odbc\_free\_result(); //funktioniert komischerweise nicht mehr  
   
?\>

Hilft das weiter?

Danke,
Kristian

hilft nicht viel weiter…
Hilft mir nicht wirklich weiter…

Eins ist mir nur aufgefallen… muss es aber nicht sein…

statt:

...
$CalledUser = $\_GET["user"];
if ($CalledUser != "")
...

würde ich schreiben:

...
$CalledUser = $\_GET["user"];
if (isset($CalledUser))
...

Aber ich glaueb das hilft nicht wirklich weiter…

Sorry… ich gebs auf…

mfg Slick

Ich geb´s auch auf.

> ...  
> $CalledUser = $\_GET["user"];  
> if (isset($CalledUser))  
> ...

Aber ich glaueb das hilft nicht wirklich weiter…

Das sieht so aus, ja.

Sorry… ich gebs auf…

Ich auch. Werde es erstmal mit ASP machen. Vielleicht komme ich ja nochmal dahinter, woran es liegt.

Danke jedenfalls für Deine Mühe!

Schönes Wochenende,
Kristian