WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Anzeigen einer Variable in einem anderem Formular (http://www.wcm.at/forum/showthread.php?t=183453)

harry1983 19.01.2006 08:59

Anzeigen einer Variable in einem anderem Formular
 
Hi Leute

Hab wieder mal eine Frage.
Wie genau mache ich es dass bei einer Seite z.B. der Username eingelesen wird (von einem Formular) und auf einer anderen Seite seht dann : Willkommen und der User

Wie schaffe ich es dass die Variable von der einen Seite mit auf die andere übernommen wird?
Kennt jemand die Befehle?

harry1983 19.01.2006 09:48

Weiss den keiner einen Befehl dafür?
Ich habs schon mit $_POST[] und $_SESSION[] probiert. Funkt aber anscheinend mit beiden nicht.

cssFreak 19.01.2006 09:56

hmm...
 
ich würde das so machen..

Eingabeformular:

<form action="blub.php" method="post">
Name:

<input type="text" name="name"rows="25">



<input type = "submit" value = "Eintragen">
</form>

Und dan die Seite wo du es angezeigt haben willst (hier blub.php):

<?php
if(isset($_POST['name']) )
{
echo"Wilkommen".$_POST['name']."
";
}
?>

MFG
cssFreak

zAPPEL 19.01.2006 10:01

Wie hast du es mit $_SESSION gemacht?

In z.B. einem login php skript
$_SESSION['name'] = "Benutzername";


Und dann im html-file anzeigen:

if(isset($_SESSION['name']) )
{
echo"Wilkommen ".$_SESSION['name']."
";
}

Also eh wie bei $POST, nur bei einer Sessionvariable muss man es nicht mit einem Formular übergeben und kann während der ganzen Session darauf zugreifen.

harry1983 19.01.2006 10:11

Naja das Problem ist das dass Formular schon für andere Zwecke auch gebraucht wird.
Dass heisst ich kann die Action des Formulars nicht auf diesen Code hier verwiesen. ODer kann ich auch mehrere Actiuons festlegen?

zAPPEL 19.01.2006 10:23

Wenn du ein Login-Forumlar hast und beim Login Script eine Session Varialbe mit dem Usernamen anlegst dann kannst du ja immer darauf zugreifen, egal ob da noch andere Formulare hintennachkommen oder dergleichen. Wenn du den usernamen über ein Formular weitergeben willst aber nicht willst das man ein Feld username hat dann kannst du input fields verstecken. (ich glaube mit type="hidden" )

lg

harry1983 19.01.2006 10:26

nein nein nein.
Ich zeig euch das mal was ich genau mein:
Das hier ist auf der Login Seite:
<?
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<label>Benutzername:</label><input name="username" type="text">

<label>Passwort: </label><input name="userpass" type="password" id="userpass">

<input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
echo header("Location:/homepage/erfolgreich.php");
?>


Zurück zur Starseite</p>

Und das hier auf der nachkommenden Seite:

<body>
</body>
</html>
<?
session_start();
include 'sessionhelpers.inc.php';
if (logged_in())
echo 'Ausloggen';
?>

So ich will das die Variable username (die auch zum Login check benötigt wird) auch bei der 2. Seite verfügbar ist.
So dass ich dann einfach nach erfolgreichen login anzeigen kann :

Willkommen & Username

Ich hoffe jetzt erkennt mans :)

zAPPEL 19.01.2006 10:37

PHP-Code:

<?
session_start
();
include 
'sessionhelpers.inc.php';
if (isset(
$_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if (
$userid!=false)
login($userid);
$SESSION['username'] = $usernanme// Wo auch immer du den herbekomst
else
echo 
'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!
logged_in())
echo 
'<form method="post" action="login.php">
/* */ 
</form>'
;
else
echo 
header("Location:/homepage/erfolgreich.php");
?>


[url="/homepage/index3.php"]Zurück zur Starseite[/url]</p>

erfolgreich.php ist dann die nachkommende seite oder?

PHP-Code:

<body>
</body>
</html>
<?
session_start
();
include 
'sessionhelpers.inc.php';
echo 
"Willkommen ".$SESSION['username'];
if (
logged_in())
echo 
'[url="/homepage/logout.php"]Ausloggen[/url]';
?>

hm.. also so müsste es funktionieren.

[edit] @unter mir: schneller :p ;)

T.dot 19.01.2006 10:37

[edit] Zu langsam ;) [/edit]

Na dann mach doch auf der Loginseite
PHP-Code:

session_start();
if (isset(
$_POST['login']))
{
  
$userid=check_user($_POST['username'], $_POST['userpass']);
  if (
$userid!=false)
  {
    
login($userid);
    
$_SESSION['username'] = $_POST['username'];
  }
  else
  {
    echo 
'Ihre Anmeldedaten waren nicht korrekt!';
  }


und auf der Anzeigeseite
PHP-Code:

<?
session_start
();
include 
'sessionhelpers.inc.php';
if (
logged_in())
{
  echo 
"Sie sind als " $_SESSION['username'] . " eingeloggt";
  echo 
'[url="/homepage/logout.php"]Ausloggen[/url]';
}
?>


harry1983 19.01.2006 10:46

Juhu genau das wars.
Wieder mal nicht nachgedacht :D
Danke euch


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag