Reputation: 341
Why does this not work? Where is my mistake, I'm trying to pass a $_SESSION
var, to another site:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Buch eintragen</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<table><form method='post'>
<tr><td>ISBN: </td><td><input type='text' name='isbn' /></td></tr>
<tr><td>Titel: </td><td><input type='text' name='title' /></td></tr>
<tr><td>Autor: </td><td><input type='text' name='autor' /></td></tr>
<tr><td>Verlag: </td><td><input type='text' name='verlag' /></td></tr>
<tr><td><input type='submit' value='neues Buch anlegen'/></td></tr>
</form></table>
<?php
session_start();
if (isset($_POST['isbn'])){
$_SESSION['isbn'] = $_POST['isbn'];
$_SESSION['title'] = $_POST['title'];
$_SESSION['autor'] = $_POST['autor'];
$_SESSION['verlag'] = $_POST['verlag'];
//header('Location: /KlausurSchulzke/buch-eintragen.php');
} ?>
<strong><?php echo $_SESSION['isbn'];?></strong>
</body>
</html>
Upvotes: 1
Views: 73
Reputation: 341
thanks for all of your effort. I found/remeber a simple workaround. I know, it´s not the real answer to my question, but Im runnig out of time. And my teacher also prohibited me to use php in my html-file.
HTML-File
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Buch eintragen</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<table><form method='post' action="buch-eintragen.php">
<tr><td>ISBN: </td><td><input type='text' name='isbn' /></td></tr>
<tr><td>Titel: </td><td><input type='text' name='title' /></td></tr>
<tr><td>Autor: </td><td><input type='text' name='autor' /></td></tr>
<tr><td>Verlag: </td><td><input type='text' name='verlag' /></td></tr>
<tr><td><input type='submit' value='neues Buch anlegen'/></td></tr>
</form></table>
<div class='button menu' onclick="javascript:location.href='/KlausurSchulzke/SchulzkeKlausurBuecherSQL.php'">Menu</div>
</body>
</html>
PHP-File
<?php
$baseURI = $_SERVER['PHP_SELF'];
openSQL();
$sqlbefehl = 'INSERT INTO `buecher` VALUES (\''.$_POST['isbn'].'\',\''.$_POST['title'].'\',\''.$_POST['autor'].'\',\''.$_POST['verlag'].'\')';
@mysql_query("SET NAMES 'utf8'");
@mysql_query($sqlbefehl);
header('Location: /KlausurSchulzke/SchulzkeKlausurBuecherSQL.php?command=work');
function openSQL()
{
$server = "localhost";
$user = "root";
$passwort = "";
$db = "schulzke";
$dblink = @mysql_connect($server, $user, $passwort);
if (!@mysql_select_db($db)) {
echo "<br>Keine Verbindung zur Datenbank $db möglich!";
echo "<br>" . mysql_error();
global $baseURI;
echo "<div class='button menu' onclick=\"javascript:location.href='$baseURI'\">Menu</div>";
die();
}
}
?>
Upvotes: 1
Reputation: 4760
session_start() needs to be at the top of the page before any headers are sent.
You must put at the top of your file that you want a session on:
<?php
session_start(); // session is always at the top here.
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Buch eintragen</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<table><form method='post'>
<tr><td>ISBN: </td><td><input type='text' name='isbn' /></td></tr>
<tr><td>Titel: </td><td><input type='text' name='title' /></td></tr>
<tr><td>Autor: </td><td><input type='text' name='autor' /></td></tr>
<tr><td>Verlag: </td><td><input type='text' name='verlag' /></td></tr>
<tr><td><input type='submit' value='neues Buch anlegen'/></td></tr>
</form></table>
<?php
if (isset($_POST['isbn'])){
$_SESSION['isbn'] = $_POST['isbn'];
$_SESSION['title'] = $_POST['title'];
$_SESSION['autor'] = $_POST['autor'];
$_SESSION['verlag'] = $_POST['verlag'];
//header('Location: /KlausurSchulzke/buch-eintragen.php');
} ?>
<strong><?php echo $_SESSION['isbn'];?></strong>
</body>
</html>
Upvotes: 1