Session weitergeben

Alles, was PHP betrifft, kann hier besprochen werden.

Session weitergeben

Postby Enzian » 10. October 2004 21:21

Guten Abend

Bin am Versuchen und vorallem am Verzweifeln.

Login mache ich so, das geht eigentlich:
Code: Select all
<? if(isset($Submit))
{
require("header.php");
$result = mysql_query("SELECT name,pw FROM user WHERE name='".addslashes($name)."' && pw=PASSWORD('".addslashes($pw)."')") or error(__LINE__,__FILE__,"Konnte Datenbank nicht nach angemeldeten Benutzern durchsuchen",mysql_error());

if(mysql_num_rows($result)==0)
{
echo "
<table align='center' valign='middle' >
 <tr>
    <td align='center' valign='middle'>
<h3> Login fehlgeschlagen - <A href=\"$PHP_SELF\">back</A></h3>
</td>
</tr>
</table>";
exit;
}   
$_SESSION["name"]=$name;
 include("begruessung2.php");      
}         
else
{
session_destroy();?>
<body>
<table width="98%" height="98%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><form name="form1" method="post" action="">
        <table width="335" border="0" align="center" cellpadding="10" cellspacing="10">
          <tr>
            <td width="65">Name</td>
            <td width="200"><input name="name" type="text" id="name" size="40"></td>
          </tr>
          <tr>
            <td>Passwort</td>
            <td><input name="pw" type="password" id="pw" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="einloggen"></td>
          </tr>
        </table>
             </form></td>
  </tr>
</table>
<? } ?>
</body>
</html>


Dann sind auf der Seite begruessung2.php die Session vorhanden der Name wird ausgegeben, auch im File nav2. das ich include

Code: Select all
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top"><? include("nav2.php"); ?>
   </td>
    <td valign="top">
Begrüssung
</td>
  </tr>
</table>


Das ist das File nav2.php

Code: Select all
<?
 echo"
<p><img src='../images/logos/logo.jpg' width='100' height='26'></p>
<p class='rotkleinfett'><a href='erfassung_einstieg.php' >Einstiegsseite erfassen</a>
</p>
<p class='rotkleinfett'><a href='erfassung.php' >Veranstaltung
  erfassen</a></p>
<p class='rotkleinfett'><a href='mutationsliste.php' >Veranstaltung
  mutieren</a></p
<p class='rotkleinfett'><a href='update_user_eigen2.php' >Passwort anpassen</a></p>
<p class='rotkleinfett'><a href='index.php' target='_parent'>Logout</a></p>
<p>";
print ($_SESSION['name']);
 echo"</p>
";?>


Ich lese im Moment die Session aus, um zu sehen ob sie da ist! Doch wenn ich weiterklicke, ist die Session nicht mehr da.

Auch wenn ich die ID im Link mitgebe <a href='update_user_eigen2.php?sid=".session_id()."' >

Wie gebe ich die Session weiter, so dass ich diese später auslesen kann? resp. wie behalte ich die Session so dass ich auf den einzelnen Seiten sie immer habe? PS: eigentlich sind es mehrere angaben, also Benutzername der einmalig ist, den normalen Voranmen, der Nachname

Alle Literatur die ich gefundne habe sagt mir vieles, aber das nicht

Danke
Enzian
 
Posts: 26
Joined: 10. March 2004 23:45

Postby Wiedmann » 10. October 2004 21:34

In jeder Datei die die Session benutzten soll, muss ein session_start() sein.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Enzian » 10. October 2004 21:56

Danke das habe ich auch versucht, dann kommt die Fehlermeldung

Warning: Cannot send session cache limiter - headers already sent (output started at /data/kunde/inet/www/.../update_user_eigen2.php:1) in /data/kunde/inet/www/.../update_user_eigen2.php on line 1

Code: Select all
<? session_start();
require("header.php");  ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>User mutieren</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top"><? include("nav2.php"); ?>
   </td>
    <td valign="top">
<span class="seitentitel">User mutieren</span>
<?
Enzian
 
Posts: 26
Joined: 10. March 2004 23:45

Postby Wiedmann » 10. October 2004 22:08

Dann wird vor dem Befehl schon was ausgegeben.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Enzian » 11. October 2004 06:45

Danke, es war ein Leerschlag vor dem <? Jetzt komme ich weiter bis ... ich hoffe bis zum Schluss
Enzian
 
Posts: 26
Joined: 10. March 2004 23:45

Postby Petrus » 11. October 2004 11:58

nur so als bemerkung: du solltest <?php statt <? als öffnenden tag verwenden... :D
Petrus
 
Posts: 39
Joined: 20. May 2004 07:50


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest