• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

$_POST-Daten werden nich übergeben...

Status
Für weitere Antworten geschlossen.

Joda1994

Neues Mitglied
Moinsen, hier is mein neuer thread^^
ich hab jez das problem, dass bei mir die $_POST daten nicht übergeben werden. ich speichere sie zu vor als cookies. wenn ich die dann wiedergeben will, haben sie keinen wert. hier mein code:

register.php
PHP:
<?php
include_once "functions2.php";
grund();
?>
    <div id="bg">
    <div id="head">
    <head>
    <link href="http://localhost/listgame/style.css" type="text/css" rel="stylesheet">

        <title>Listgame</title>
       </div>
	</head>
	<body>
	<div id="body">
		<h1>Registrieren</h1>
		<div id="text">
		<p>
				   <?php
echo "a" . $_SESSION["regname"] . "a";
echo "a" . $_SESSION["regpassword"] . "a";
$hashpw = md5($_POST["regpassword"]); 
$query = "SELECT name FROM users WHERE `name`='" .mysql_real_escape_string($_POST["regname"]) . "'"; 
$result = mysql_query($query); 

     
if ($_POST["regname"] == "" or $_POST["regpassword"] == "") 
    die("Kein Benutzername/Passwort angegeben."); 

elseif (mysql_fetch_assoc($result)) 
    die("Der Benutzername existiert bereits."); 

else
	mysql_query("INSERT INTO Mitarbeiter (name,password)('".mysql_real_escape_string($_POST["regname"]). "',$hashpw");
    echo "Registrierung erfolgreich!";    
		   ?>
		</p>
				<br />
		<br />
	 	<a href="loginform.php">Log in</a>
		<a href="registerform.php">Registrieren</a>
		<a href="log_out.php">Log out</a>

		</div>
		</div>
	</body>
</html>


registerform.php
PHP:
<?php
include_once "functions2.php";
grund();
?>
    <div id="bg">
    <div id="head">
    <head>
    <link href="http://localhost/listgame/style.css" type="text/css" rel="stylesheet">

        <title>Listgame</title>
       </div>
	</head>
	<body>
	<div id="body">
		<h1>Registrieren</h1>
		<div id="text">
		<p>
				   <?php
			registerform();
		   ?>
		</p>
				<br />
		<br />
	 	<a href="loginform.php">Log in</a>
		<a href="registerform.php">Registrieren</a>
		<a href="log_out.php">Log out</a>

		</div>
		</div>
	</body>
</html>

und functions2.php
PHP:
<?php
function log_out()
{
	?>
	<form action="log_out.php">
	<input type="submit" value="Log out" name="logout" />
	</form>
	<?php
	if(isset($_POST["logout"]))
	mysql_query("UPDATE users SET login ='0' WHERE `name`='" .mysql_real_escape_string($_SESSION["username"]) . "'");
}

function grund()
{
	session_start();
	echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
	  <html xmlns='http://www.w3.org/1999/xhtml'>";
	mysql_connect("localhost", "root");
	mysql_select_db("test");
	?>
	<div id="bg">
	<div id="body">
	<?php
	$query = "SELECT login FROM users WHERE `name`='" .mysql_real_escape_string($_SESSION["username"]) . "'"; 
	$result = mysql_query($query);
	if(mysql_fetch_assoc($result) == "1")
	log_out();
}

function registerform()
{
?>
<div>
<form action="register.php" method="post">
<div>Benutzername: <input type="text" name="regname" /><br />
Passwort: <input type="password" name="regpassword" /><br />
<input type="submit" value="Registrieren" name="register" /></div>
</form>
</div>
<?php
$_SESSION["regname"] = $_POST["regname"];
$_SESSION["regpassword"] = $_POST["regpassword"];
}

function loginform()
{
	?>
<div>
<form action="login.php" method="post">
<div>
<div>Benutzername: </div><input type="text" name="username" /><br />
<div>Passwort:     </div><input type="password" name="password" /><br />
<input type="submit" value="Einloggen" name="login" /></div>
</form>
</div>
	<?php
	$_SESSION["username"] = $_POST["username"];
}

function login()
{
	$name = mysql_query("SELECT name FROM users WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
	$row = mysql_fetch_assoc($name);

	$password = mysql_query("SELECT password FROM users WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
	$row = mysql_fetch_assoc($password);
	$hashpw = md5($row["password"]);
	if ($hashpw == $row["password"] AND $_SESSION["username"] == $row["name"])
	{
		mysql_query("UPDATE users SET login ='1' WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
		echo "Du hast dich erfolgreich eingeloggt.";	
	}
	else
	{
		echo "Log-in fehlgeschlagen. Falcher Username oder falchses Passwort.";
	}
}

	?>
also ein großteil is davon jez nich relevant.. aba vllt sind da ja auch fehler drin. aber warum haben die sessions jez keinen wert?
 
warum schreibst du in die funktionen die die forms ausgeben unten immer $_SESSION[bla] = $_POST[bla] ?

warum benutzt du kein empty(); ? (dazu vielleicht trim(); )

INSERT befehle über mysql sehen so

INSERT INTO tabelle (spalten) VALUES (werte)

oder so

INSERT INTO tabelle (werte)

aus!

und weil dein code so unübersichtlich ist hab ich keine lust da weiter fehler rauszusuchen ^^
 
lass dir mal anzeigen was du hast:

in die ersen zeilen:

error_reporting(E_ALL);
var_dump($_REQUEST);
 
es wird gar nix ausgegeben... irgendwie wunderlich. zum test hab ich da auch ein echo "hallo" reingemacht. das kommt auch nich. hier der code
PHP:
<?php
error_reporting(E_ALL);
var_dump($_REQUEST);
echo "hallo";
function grund()
{
	session_start();
	echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
	  <html xmlns='http://www.w3.org/1999/xhtml'>";
	mysql_connect("localhost", "root");
	mysql_select_db("test");
	?>
	<div id="bg">
	<div id="body">
	<?php
}

function registerform()
{
?>
<div>
<form action="register.php" method="post">
<div>Benutzername: <input type="text" name="regname" /><br />
Passwort: <input type="password" name="regpassword" /><br />
<input type="submit" value="Registrieren" name="register" /></div>
</form>
</div>
<?php
$_SESSION["regname"] = $_POST["regname"];
$_SESSION["regpassword"] = $_POST["regpassword"];
}

function loginform()
{
	?>
<div>
<form action="login.php" method="post">
<div>
<div>Benutzername: </div><input type="text" name="username" /><br />
<div>Passwort:     </div><input type="password" name="password" /><br />
<input type="submit" value="Einloggen" name="login" /></div>
</form>
</div>
	<?php
	$_SESSION["username"] = $_POST["username"];
}

function login()
{
	$name = mysql_query("SELECT name FROM users WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
	$row = mysql_fetch_assoc($name);

	$password = mysql_query("SELECT password FROM users WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
	$row = mysql_fetch_assoc($password);
	$hashpw = md5($row["password"]);
	if ($hashpw == $row["password"] AND $_SESSION["username"] == $row["name"])
	{
		mysql_query("UPDATE users SET login ='1' WHERE name = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
		echo "Du hast dich erfolgreich eingeloggt.";	
	}
	else
	{
		echo "Log-in fehlgeschlagen. Falcher Username oder falchses Passwort.";
	}
}

function log_out()
{
	?>
	<form action="log_out.php">
	<input type="submit" value="Log out" name="logout" />
	</form>
	<?php
	if(isset($_POST["logout"]))
	mysql_query("UPDATE users SET login ='0' WHERE `name`='" .mysql_real_escape_string($_SESSION["username"]) . "'");
}

	?>

edit: ich habs jez auf jede seite einzeln geschrieben. beim registrieren kommt dann raus:
array(3) {
["username"]=>
string(8) "Joda1994"
["password"]=>
string(4) "test"
["register"]=>
string(12) "Registrieren"
}

zudem noch:
Notice: Undefined variable: _SESSION in C:\Programme\XAMPP\htdocs\listgame\register.php on line 21
Notice: Undefined variable: _SESSION in C:\Programme\XAMPP\htdocs\listgame\register.php on line 22
Notice: Undefined index: regpassword in C:\Programme\XAMPP\htdocs\listgame\register.php on line 23
Notice: Undefined index: regname in C:\Programme\XAMPP\htdocs\listgame\register.php on line 24
Notice: Undefined index: regname in C:\Programme\XAMPP\htdocs\listgame\register.php on line 28
 
Zuletzt bearbeitet:
jo das sagts doch, session nicht initialisiert und du greifst auf die falschen post werte zu.
 
sind $_POST["regname"] und $_POST["regpassword"] etwa nich korrekt. die eingabefelder heißen doch so.. was is dadran falsch??
 
Ich kenne mich nicht so gut mit Xampp aus (glaube das du es benutzt)...
Könnte es sein, dass die Software keine Session annimmt?
 
sind $_POST["regname"] und $_POST["regpassword"] etwa nich korrekt. die eingabefelder heißen doch so.. was is dadran falsch??

Jo sind sie

Wie du der Fehlermeldung entnehmen kannst:
Notice: Undefined index: regpassword in C:\Programme\XAMPP\htdocs\listgame\register.php on line 23
Notice: Undefined index: regname in C:\Programme\XAMPP\htdocs\listgame\register.php on line 24
Notice: Undefined index: regname in C:\Programme\XAMPP\htdocs\listgame\register.php on line 28
Desweiteren siehst du an dem Variablen Dump, wie sie richtig heißen müssten
["username"]=>
string(8) "Joda1994"
["password"]=>
string(4) "test"
["register"]=>
string(12) "Registrieren"
}
 
also im code steht ja der name, den ich in $_POST angebe. also regname und regpassword. hab jez alle nochma umbenannt. jez gehts.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben