mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 17:21 Benutzername: Passwort: Auto-Login

Thema: Sessions-Problem bei PHP vom 28.11.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Sessions-Problem bei PHP
Seite: 1, 2  Weiter
Autor Nachricht
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.11.2005 08:44
Titel

Sessions-Problem bei PHP

Antworten mit Zitat Zum Seitenanfang

Morgen...

Hab ein Problem bei dem ich selber nicht mehr weiter komme...

Ich soll als Übungsprojekt eine Kursverwaltung schreiben, bei der der User über die Page Kurse abfragen kann. Das ganze läuft über PHP und MySQL. Das ganze könnt ihr euch

> hier <

mal anschauen.

Das ganze klappt bis jetzt auch ganz gut...nur eine Sache bekomme ich nicht hin.

Nach der Kursauswahl (unten) bekommt der User Infos über den gewählten Kurs. Danach soll er mit einem Link wieder zu seiner Auswahl kommen...

Ich bin mittlerweile so weit dass ich weiss das ich das nur über eine Session lösen kann. Das hat mit Testvariablen auch wunderbar geklappt. Auch das übliche Header-Problem hab ich in den Griff bekommen (habe das session_start() direkt in die erste Zeile gesetzt weil ich gelesen habe dass davor nichts kommen darf...so funzt das dann auch, nur ob es ein eleganter Programiertstil ist kann ich nicht beurteilen....).

Nun das Problem: Leider bekomme ich es nicht hin dass nach Betätigung des "Rück"-Links die vorherige Auswahl erscheint...

Ich poste mal die Scripts dafür. Nicht wundern wegen der mysql_connect(); , das Script ist von der Localen Variante...

Die Linkreihenfolge sieht wie folgt aus:

Zuerst wird die Seite auswahl_kurs.php aufgerufen. Von ihr aus wird auf der rechten Seite ein iframe (iframe_kursauswahl_neu.php) gestartet. Nach auswahl da wird unten die Seite iframe_kursauswahl.php angezeigt. Nach auswahl des Kurses werden die Infos in iframe_kursbeschreibung.php angezeigt. Mit dem "Rück"-Link soll der User wieder zurück zu iframe_kursauswahl.php kommen, wobei die vorherige Auswahl wieder angezeigt werden soll. Nur das funzt halt nicht, es kommt eine Fehlermeldung. Also denke ich dass die Variable nicht übergeben werden.

Hier die Scripts:

auswahl_kurs.php

Code:
<?php
session_start();
$session = 0;
session_register("session");
// Session wird eingeleitet
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Auswahl Kurs</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<!-- Tabelle Anfang -->
<table width="750" height="200"  border="1" cellpadding="0" cellspacing="0">
  <tr>
    <td width="300" height="200" align="left" valign="top">
   
   <?php
      
      
      // Verbindung zur Datenbank wird hergestellt
      mysql_connect();
      mysql_select_db("schulungen");
      
      // Datenbankabfrage
      $mysql_abfrage = "SELECT * FROM kurskategorie";
      $mysql_ergebnis = mysql_query($mysql_abfrage);
      $num = mysql_num_rows($mysql_ergebnis);
      
      if ($num == 0) echo "Keine Datensätze gefunden";
      
      // Auswahl der Kurskategorie
      echo "<br>Bitte wählen Sie eine Kurskategorie aus: <br><br>";
      
      echo "<form action='iframe_kursauswahl_neu.php?<?=SID?>' target='iframe_rechts' method = 'post'>";
      
      echo "<select name='kurs_kat_nr_send'>";
      
      // Ausgabe der gesuchten Datenbankinhalte
      while ($datensatz = mysql_fetch_assoc($mysql_ergebnis))
      {
         echo "<option value='" . $datensatz["kurs_kat_nr"] . "'>" . $datensatz["kurs_kat_nr"] . " " . $datensatz["kurs_kat"] . "</option>";
         
      }
      
      
      echo "</select>";
   
      echo "<br><br>";
      
      echo "<input type='submit' name='gesendet'>";
      echo "<input type='reset'>";
      
      
      echo "</form>";
      
      // Schließung der Datenbank
      mysql_close();

?>
   
   
   </td>
    <td width="300" height="100" align="left" valign="top">
      
      <!-- Laden des rechten iframes -->
      <div align="left">
         <iframe name=iframe_rechts src="iframe_blank.php" frameborder=0 width=300 height=140></iframe>
      </div>   
   </td>
  </tr>
  <tr align="left" valign="top">
    <td height="400" colspan="2">
      
      <!-- Laden des linken iframes -->
      <div align="left">
         <iframe name=iframe_unten src="iframe_blank.php" frameborder=0 width=600 height=400></iframe>
      </div>   
   
   </td>
  </tr>
</table>
</body>
</html>



iframe_kursauswahhl_neu.php

Code:
<?php
session_start();
// Session wird eingeleitet
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kursauswahl_neu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<!-- Auswahl Kursart -->
Bitte wählen Sie die Kursart aus:<br>   
   <?php
   

      
      // Verbindung zur Datenbank wird hergestellt
      mysql_connect();
      mysql_select_db("schulungen");
      
      // Abfrage der Datenbank
      $mysql_abfrage = "SELECT DISTINCT kurs_art_nr, kurs_art FROM kursbeschreibung WHERE kurs_kat_nr = $kurs_kat_nr_send";
      
      $mysql_ergebnis = mysql_query($mysql_abfrage);
      $num = mysql_num_rows($mysql_ergebnis);
      
      

?>



   
   <form action="iframe_kursauswahl.php?<?=SID?>" target="iframe_unten" method="post">
   <select name="kurs_art_nr_send">

<?php
      
      // Ausgabe der abgefragten Inhalte
      if ($num == 0) echo "Keine passenden Datensätze gefunden<br><br>";
      
      while($datensatz = mysql_fetch_assoc($mysql_ergebnis))
      
      {
      echo "<option value='" . $datensatz["kurs_art_nr"] . "'>" . $datensatz["kurs_art_nr"] . " " . $datensatz["kurs_art"] . "</option>";
      }


?>
   </select>
   
   <br><br>
   
   <input type="submit"><input type="reset">


   </form>   

   

</body>
</html>



iframe_kursauswahl.php

Code:
<?php
session_start();
// Session wird eingeleitet

$session = $kurs_art_nr_send;
// Session-Wert wird auf Wert der Kursart-Abfrage gesetzt

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kursauswahl</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="180" height="15" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>
   
   <?php

      // Verbindung zur Datenbank wird hergestellt
      mysql_connect();
      mysql_select_db("schulungen");
      
      // Abfrage Datenbank
      $mysql_abfrage = "SELECT * FROM kursbeschreibung WHERE kurs_art_nr = $session";
      
      $mysql_ergebnis = mysql_query($mysql_abfrage);
      $num = mysql_num_rows($mysql_ergebnis);
      
      

      echo '<table width="580" height="360" border="0" cellpadding="0" cellspacing="0">';
        echo '<tr>';
         echo '<td align="left" valign="top">';
      
      
         
         
         echo '<form action="iframe_kursbeschreibung.php?<?=SID?> method="post">';
            
            echo "Folgende Kurse können sie bei uns belegen: <br><br>";
               echo '<table   border="1" cellspacing="0" cellpadding="0">';
                  echo "<tr>";
                     echo "<th></th><th>Kursnummer</th> <th>Kurbezeichnung</th></tr>";
                  
                  
            // Ausgabe der Inhalte aus der Datenbank
                        while ($datensatz = mysql_fetch_assoc($mysql_ergebnis))
                        {
                           
                           echo "<tr><td><input type='radio' name='kurs_nr_send' value='" . $datensatz["kurs_nr"] . " 'checked></td><td>"  . $datensatz["kurs_nr"] . "</td><td>" . $datensatz["kurs"] . "</td></th> ";
                        }
                  
                        
                  echo "</tr>";
               echo "</table>";
      
         echo'<br>';
         echo'<input type="submit"> <input type="reset">';
   ?>
   </form>
   
   
   
   </td>
  </tr>
</table>
</body>
</html>



iframe_kursbeschreibung

Code:

<?php
session_start();
// Session wird eingeleitet
?>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<?php

   // Verbindung zur Datenbank wird hergestellt
   mysql_connect();
   mysql_select_db("schulungen");
   
   // Abfrage der Datenbank
   $mysql_abfrage = "SELECT * FROM kursbeschreibung WHERE kurs_nr = $kurs_nr_send";
   
   $mysql_ergebnis = mysql_query($mysql_abfrage);
   
   $num = mysql_num_rows($mysql_ergebnis);
   
   echo "Test Session $kurs_art_nr";
   
   // Ausgabe der Inhalte der Datenbank
   while ($datensatz = mysql_fetch_assoc($mysql_ergebnis))
   {
      echo '<table border="0" width="400" cellspacing="0" cellpadding="0">';
         
         echo '<tr>';
            echo '<td width="150">Kursnummer:<br> <b><u>' . $datensatz["kurs_nr"] . '</b></u></td>';
            echo '<td width="300">Kursbezeichnung:<br> <b><u>' . $datensatz["kurs"] . '</b></u></td>';
         echo '</tr>';
         
         echo '<tr>';
         
            echo '<td width="400"><br><br><br>Kursbeschreibung:<br> <b>' . $datensatz["kursbeschreibung"] . '</b></td>';
         echo '<tr>';
         
      echo '</table>';
            
   }





echo '<p><a href="iframe_kursauswahl.php?<?=SID?>">zur&uuml;ck zur Auswahl </a></p>';
?>
</body>
</html>


besten Dank...

Lapje
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Mo 28.11.2005 09:40
Titel

Antworten mit Zitat Zum Seitenanfang

Moin Lächel


Code:
echo '<p><a href="iframe_kursauswahl.php?<?=SID?>">zur&uuml;ck zur Auswahl </a></p>';



du machst nach der url noch mal einen PHP Tag auf , obwohl du schon innerhalb eines PHP Blocks bist, ausserdem
vermisse ich bei der Variable SID den $ als Präfix. Ich denke das führt dazu, dass dein Query fehlschlägt.

greetz sky


Zuletzt bearbeitet von Skyw4lker am Mo 28.11.2005 09:40, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.11.2005 09:44
Titel

Antworten mit Zitat Zum Seitenanfang

schon mal danke..*zwinker*

hab das ganze jetzt mal so geändert:

Code:
echo '<form action="iframe_kursauswahl_neu.php?'.$SID.'" target="iframe_rechts" method = "post">';


und

Code:
<form action="iframe_kursauswahl.php?<?php echo $SID ?>" target="iframe_unten" method="post">



aber immer noch das gleiche Prob...
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Mo 28.11.2005 09:55
Titel

Antworten mit Zitat Zum Seitenanfang

geh einfach mal mit der maus über den link der zurück zum anfang directen soll...
wenn du dir den linkinhalt anschaust, wirst du sehen, dass immer noch überflüssige PHP Tags drin
stehen und die Variable nicht als solche gekennzeichnet ist.


  View user's profile Private Nachricht senden
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.11.2005 10:07
Titel

Antworten mit Zitat Zum Seitenanfang

so..auch der letzte Link sieht jetzt so aus:

Code:
echo '<p><a href="iframe_kursauswahl.php?'.$SID.'>">zur&uuml;ck zur Auswahl </a></p>';


aber immer noch das gleiche....
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Mo 28.11.2005 10:15
Titel

Antworten mit Zitat Zum Seitenanfang

Wie du an dem Link siehst, steht aber immer noch keine Variable hinter dem link.

du musst sowas bauen wie

Code:
iframe_kursauswahl.php?SID='.$SID.'


Du brauchst ja etwas, was du in der nächsten Datei wieder mit $_REQUEST['SID'] abholen kannst.

Ausserdem steht immer noch ?> hinter dem link...

Mach halt mal die Augen auf *zwinker*

lesen!


Zuletzt bearbeitet von Skyw4lker am Mo 28.11.2005 10:18, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.11.2005 10:31
Titel

Antworten mit Zitat Zum Seitenanfang

funzt immer noch nicht..obwohl das unten jetzt etwas anders aussieht...aber vielleicht hab ich auch bei der initialisierung der Session (erste Zeilen) was falsch gemacht ?
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Mo 28.11.2005 11:01
Titel

Antworten mit Zitat Zum Seitenanfang

paste mal bitte den source von dem letzten link bzw den von der letzten seite (Die Kurzbeschreibung)

Zuletzt bearbeitet von Skyw4lker am Mo 28.11.2005 11:01, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen problem mit sessions
Sessions Problem
[PHP] Sessions - Problem
[Solved] Problem mit Cookies bzw. Sessions
Sicherheit von Sessions
PHP-Sessions mit Xampp 1.5.0
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.