Autor |
Nachricht |
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.11.2005 08:44
Titel Sessions-Problem bei PHP |
|
|
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ück zur Auswahl </a></p>';
?>
</body>
</html>
|
besten Dank...
Lapje
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Mo 28.11.2005 09:40
Titel
|
|
|
Moin
Code: | echo '<p><a href="iframe_kursauswahl.php?<?=SID?>">zurü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
|
|
|
|
|
Anzeige
|
|
|
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.11.2005 09:44
Titel
|
|
|
schon mal danke..
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...
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Mo 28.11.2005 09:55
Titel
|
|
|
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.
|
|
|
|
|
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.11.2005 10:07
Titel
|
|
|
so..auch der letzte Link sieht jetzt so aus:
Code: | echo '<p><a href="iframe_kursauswahl.php?'.$SID.'>">zurück zur Auswahl </a></p>'; |
aber immer noch das gleiche....
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Mo 28.11.2005 10:15
Titel
|
|
|
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
lesen!
Zuletzt bearbeitet von Skyw4lker am Mo 28.11.2005 10:18, insgesamt 2-mal bearbeitet
|
|
|
|
|
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.11.2005 10:31
Titel
|
|
|
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 ?
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Mo 28.11.2005 11:01
Titel
|
|
|
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
|
|
|
|
|
|
|
|
Ä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
|
|