Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Webseitensteuerung für Anfänger....

0 views
Skip to first unread message

Martin Fischer

unread,
Jul 1, 2009, 4:23:08 PM7/1/09
to
Guten Abend,

ich bin neu in der PHP-Entwicklung und mache mir gerade Gedanken über
eine Webseite, mit deren Hilfe ich bestimmte SQL-Auswertungen im
Intranet verfübar machen will. Der Zugriff auf die SQL-Selects ist
dabei nicht das Problem, sonst wäre ich hier in der falschen Gruppe.

Ich frage mich, ob es möglich ist, die gesamte Seite bestehend aus
Menue, davon abhängigen Untermenues und dem eigentlichen Inhalt (dem
Ergebnis der Queries) in einer Dynamischen Seite erzeugen zu lassen.
Zu diesem Zweck müsste ich den Status, d. h. die zuletzt gewählte
Aktion des Nutezrs auswerten können.

EIn Link soll nach meinen Anfänger-Vorstellungen immer wieder die
gleiche Startseite aufrufen, dort solll dann in Abhängigkeit der
letzten Aktion eine andere Seite generiert werden. Das erfordert aber,
dass bei einem Klick auf einen Link Variablen geändert werden,
klassisch wohl durch aufruf einer anderen Html-Seite, in der dann z.
B. das Login erfolgt und die Variable login auf true gesetzt wird
(o.ä.).

Kann ich das auch anders und ohne alternative Dateien realisiern ?
Kann man zum Beispiel den Namen des Links von dem man referred wurde
auslesen ? Bin für Hinweise dankbar !

MfG

Martin Fischer

Claus Reibenstein

unread,
Jul 1, 2009, 5:38:39 PM7/1/09
to
Martin Fischer schrieb:

> EIn Link soll nach meinen Anf�nger-Vorstellungen immer wieder die
> gleiche Startseite aufrufen, dort solll dann in Abh�ngigkeit der


> letzten Aktion eine andere Seite generiert werden.

Du suchst Sessions.

Gru�. Claus

Martin Fischer

unread,
Jul 2, 2009, 8:39:23 AM7/2/09
to
On 1 Jul., 23:38, Claus Reibenstein <4spamerso...@online.de> wrote:
> Martin Fischer schrieb:
>
> > EIn Link soll nach meinen Anfänger-Vorstellungen immer wieder die
> > gleiche Startseite aufrufen, dort solll dann in Abhängigkeit der

> > letzten Aktion eine andere Seite generiert werden.
>
> Du suchst Sessions.
>
> Gruß. Claus

Danke für den Hinweis Claus. Allerdings scheine ich mich unprüzise
ausgedrückt zu haben. Mir ging es insbesondere um die Reaktion auf
einen bestimmten Link-Klick; genauer, die Ausführung von Code-Teilen.
Also in etwa: wenn man auf diesen Link klickt, setze den Wert der
VAriablen Aktion auf "true" ...

HAst Du hierfür eine Struktur oder ein Codebeispiel ?

Danke für Deine / Eure Mühen!

Martin

Michael Meyer

unread,
Jul 2, 2009, 9:14:08 AM7/2/09
to
*** Martin Fischer <martin.fi...@gmail.com> wrote:

> Das erfordert aber, dass bei einem Klick auf einen Link Variablen ge�ndert werden,

<a href="foo.php?action=bar">Link</a>

<?php

if($_GET['action'] ...

?>

http://www.php.net/manual/de/reserved.variables.php

Micha

Klaus Zerwes

unread,
Jul 2, 2009, 9:23:37 AM7/2/09
to
Martin Fischer wrote:
[...]
> Danke f�r den Hinweis Claus. Allerdings scheine ich mich unpr�zise
> ausgedr�ckt zu haben. Mir ging es insbesondere um die Reaktion auf
> einen bestimmten Link-Klick; genauer, die Ausf�hrung von Code-Teilen.

> Also in etwa: wenn man auf diesen Link klickt, setze den Wert der
> VAriablen Aktion auf "true" ...

mal janz grob ...

class actions{
function actions() {
var _action_array;
$this->_action_array = array(
"save" => array(
"login" => "act.login.inc.php",
"logout" => "act.logout.inc.php",
),
"display" => array(
"login" => "dsp.login.inc.php",
"logout" => "dsp.logout.inc.php",
)
);
}
function getincludefile($actiontype, $action){
return $this->_action_array[$actiontype][$action];
}
}

define("INCLUDEROOT", dirname(__FILE__)."/incl/");
$act = new actions();
if (array_key_exists("display", $_REQUEST)) {
$incf = $act->getincludefile("save", $_REQUEST["save"]);
if(strlen($incf) > 0) require(INCLUDEROOT.$incf);
}

die links die du meins setzen dann per GET action= und/oder display=
anhand der entsprechend gesetzten Variablen in _REQUEST includest du
dann die Dateien die du in der actions-classe f�r die entspr. action
definiert hast.

Fehler und falsche actions usw. musst du nat�rlich vern�nftig handhaben.

komplettere Beispiele kannst du im code von traffstats auf sf finden:
http://sourceforge.net/projects/traffstats/

> HAst Du hierf�r eine Struktur oder ein Codebeispiel ?
>
> Danke f�r Deine / Eure M�hen!
>
> Martin

Klaus


--
Klaus Zerwes
http://www.zero-sys.net

Matthias P. Wuerfl

unread,
Jul 2, 2009, 9:25:58 AM7/2/09
to
Martin Fischer schrieb:

> Ich frage mich, ob es m�glich ist, die gesamte Seite bestehend aus
> Menue, davon abh�ngigen Untermenues und dem eigentlichen Inhalt (dem


> Ergebnis der Queries) in einer Dynamischen Seite erzeugen zu lassen.

Ja.

> EIn Link soll nach meinen Anf�nger-Vorstellungen immer wieder die
> gleiche Startseite aufrufen, dort solll dann in Abh�ngigkeit der


> letzten Aktion eine andere Seite generiert werden. Das erfordert aber,

> dass bei einem Klick auf einen Link Variablen ge�ndert werden

"Eine dynamische Seite" w�rde dann bei Dir "eine PHP-Datei" bedeuten.
Das muss aber nicht gleichzeitig bedeuten, dass es nur unter "einer URL"
erreichbar ist. Entweder kannst Du das wie von Michael vorgeschlagen mit
"?irgendwas=irgendwie&nochwas=anders" machen, oder per mod_rewrite o.�.

Von dem Login mal abgesehen (welches man mit Sessions und/oder HTTP_Auth
macht) sollte eine Ansicht eine URL haben, auf die per HTTP GET
zugegriffen wird - unabh�ngig davon, wie man zu dieser URL hinkam.

Bei Seitenaufrufen, die den Status der Seite ver�ndern (z.B. Daten
�ndern) Mit Formularen und HTTP POST arbeiten. Das Script f�hrt dann die
Aktion aus und leitet mit 302 und Location-header auf eine Anzeige um,
die wieder mit GET geholt wird.

Gr��e, Matthias

Ulf [Kado] Kadner

unread,
Jul 2, 2009, 11:38:13 AM7/2/09
to
Klaus Zerwes schrieb:

> class actions{
> var _action_array;

PHP4 ist tot! Es gibt keinen Grund solch alten Code jemanden zu empfehlen.

MfG, Ulf

Martin Fischer

unread,
Jul 5, 2009, 3:46:08 PM7/5/09
to
Guten Abend allerseits,

nachdem ich mit Eurer Hilfe ein wenig weitergekommen bin, stosse ich
nun auf ein neues Problem:

Meine Seite initialisiert beim Laden einige Variablen, u. a. einen
Usernamen "Gast" und einiges anders. Die Ablaufsteuerung funktioniert
über die Übergabe der Aktionen per $_GET.

Nun habe ich einen Funktionsteil erstellt, der das Abmelden eines
Users übernimmt, der also den Usernamen wieder auf "Gast" setzt, bzw.
setzen soll. Dazu erzeuge ich ein Miniformular mit folgendem HTML-
Code:

switch ($_GET['action'])
{
case 'logout':
$username = 'Gast';
$userid = 0;

$ml = "<br/>";
$ml .= "<form name=\"weiter\" action=\"";
$ml .= $_SERVER['PHP_SELF'];
$ml .= "?action=login\"";
$ml .= "><br />";
$ml .= "<input type=\"submit\" accept=\"logout\" value=\"Ausloggen\"/
>";
$ml .= "</form>";

print $ml;

break;

Das Formular habe ich nur erzeugt, um ein Neuladen der Seite erzwingen
zu können. Dabe iversuche ich - vergeblich - als "action" den Wert
"login" für ein Neueinloggen zu übergeben. Gleichzeitig scheint die
bei der Initialisierung gesetzte Variable gelöscht worden zu sein,
kann es sein, dass bei AUfruf einer Formular-Aktion die PHP-Variablen
anders behandelt werden, als bei einem schlichten Neu-Laden ?

Im Moment fällt mir nur ein zusätzliche Abgleich auf Post-Werte oder
Sessions ein, letztere waren mir aber bisher zu aufwändig, nachdem ich
mich parallel mit HTML/CSS/PHP neu befasse .... Könnt Ihr mir helfen ?

Martin

Martin Fischer

unread,
Jul 5, 2009, 4:45:29 PM7/5/09
to
Hat sich erledigt, die PHP-Variablen werden ohne sessions bei jedem
Neuaufbau gelöscht, so dass meine Parameter-Übergabe-Struktur nur mit
Session-Variablen funktioniert. Werde ich wohl tiefer einsteigen
müssen.

Martin

Claus Reibenstein

unread,
Jul 5, 2009, 5:23:36 PM7/5/09
to
Martin Fischer schrieb:

> $ml = "<br/>";
> $ml .= "<form name=\"weiter\" action=\"";
> $ml .= $_SERVER['PHP_SELF'];
> $ml .= "?action=login\"";
> $ml .= "><br />";
> $ml .= "<input type=\"submit\" accept=\"logout\" value=\"Ausloggen\"/
>>";
> $ml .= "</form>";

$ml = '<br/>'
. '<form name="weiter" action="'
. $_SERVER['PHP_SELF']
. '?action=login"'
. '><br />'
. '<input type="submit" accept="logout" value="Ausloggen"/>'
. '</form>';

Halte ich f�r �bersichtlicher.

Noch �bersichtlicher w�re es, wenn Du die Teilstrings nach ihrer
Funktion aufteilen w�rdest, wobei Du auch noch die Tatsache nutzen
k�nntest, dass HTML-Attribute auch in einfachen Hochkommas
eingeschlossen werden k�nnen. Das k�nnte dann etwa so aussehen:

$ml = '<br />'
. "<form name='weiter' action='$_SERVER[PHP_SELF]?action=login'>"
. '<br />'
. '<input type="submit" accept="logout" value="Ausloggen"/>'
. '</form>';

Gru�. Claus

0 new messages