Php Variablen Problem wegen Xampp
AbBa
- php
Irgendwie werden die Variablen nicht "realisiert".
Hier hab ich Register.html:
-------
<html>
<body style="cursor: url('../../Cur/Sword.cur')">
<body bgcolor='black'>
<font color='white'>
<body scroll="no">
<form action='New.php'>
<p>
<img src="SOHBanner.png" width="370">
Username: <p align="center"><input align="center" type='text' name='Charaname' style="cursor: url('../../Cur/Sword.cur')"></input><br></p>
Password: <p align="center"><input align="center" type='password' name='Charapass' style="cursor: url('../../Cur/Sword.cur')"></input><br></p>
Repeat Password: <p align="center"><input align="center" type='password' name='Charapass2' style="cursor: url('../../Cur/Sword.cur')"></input><br></p>
In-Game-Name:<p align="center"><input align="center" type='text' name='Nick' style="cursor: url('../../Cur/Sword.cur')"></input><br></p>
E-Mail Adress*:<p align="center"><input align="center" type='text' name='Em' style="cursor: url('../../Cur/Sword.cur')"></input><br></p>
<font size='3'>*not recommended. E-Mail will be used for sending someone Updates,etc...</p>
<p align="right"><input type='Submit' style="cursor: url('../../Cur/Sword.cur');position:absolute; left: 320px;top: 520px;" value='Register'></input></p>
</form>
</html>
-------
Es soll eine Registrierung sein. <form action> sagt ja schon,
dass New.php die Variablen braucht, die in den input types stehen.
Bis dahin klappt auch alles..
Doch bei...
---
New.phpCharaname=test&Charapass=abc&Charapass2=abc&Nick=AbBa&Em=AbBa@test.de
---
...Realisiert New.php die Variablen nicht!
Die stehen zwar in der Adressleiste, aber es ist so als ob es für New.php gleichgültig wäre.
Der fehler taucht aber nur bei Xampp auf...
Gibt es da etwas, was nicht funktioniert oder so?
Hier noch New.php:
-----
<?php
if ($Charapass == $Charapass2){
} else {
Header("Location: Wrongpass.php");
}
$Beleidig = "Wanker";
$pos = strpos($Chatmessage, $Beleidig);
if ($pos === false) {
$Beleidig1 = "Penis";
$pos3 = strpos($Chatmessage, $Beleidig1);
if ($pos3 === false) {
$Beleidig2 = "Fuck";
$pos1 = strpos($Chatmessage, $Beleidig2);
if ($pos1 === false) {
$Beleidig3 = "Ass";
$pos2 = strpos($Chatmessage, $Beleidig3);
if ($pos2 === false) {
$a1 = "User/".$Charaname.".html";
$Char = "<script type='text/javascript'>
top.logged.location.href = 'Successfully' + ".Charaname." + ".Charapass." + '.html';
</script>";
$a2 = fopen($a1, "w+");
fwrite($a2, $Char);
fclose ($a2);
$a3 = "User/Successfully".$Charaname.$Charapass.".html";
$a4 = "<body bgcolor='transparent'><font color='white'>Eingeloggt als: ".$Nick."<script type='text/javascript'>
top.updateframe.location.href='Update' + ".$Charaname.$Charapass.".html';
</script>";
$a5 = fopen($a3, "w+");
fwrite($a5, $a4);
fclose ($a5);
$a10 = "Emails.html";
$a11 = $Charaname." -- ".$Em." <br> ";
$a12 = fopen($a10, "a+");
fwrite($a12, $a11);
fclose ($a12);
print " <title>New User</title>
<font color='white'><br><br>Account has been created with Username ".$Charaname.". Please click <u> <a onclick='javascript: close()'>Here</a></>, to close the window.</font>
<body bgcolor='black'> ";
} else {
print " <title>New User</title><script type='text/javascript'>
location.href='Error.php?Us=".$Usr."' ;
</script>
<font color='white'><br><br>Please wait...</font>
<body bgcolor='black'> ";}
} else {
print " <title>New User</title><script type='text/javascript'>
location.href='Error.php?Us=".$Usr."' ;
</script>
<font color='white'><br><br>Please wait...</font>
<body bgcolor='black'> ";}
} else {
print " <title>New User</title><script type='text/javascript'>
location.href='Error.php?Us=".$Usr."' ;
</script>
<font color='white'><br><br>Please wait...</font>
<body bgcolor='black'> ";}
} else {
print " <title>New User</title><script type='text/javascript'>
location.href='Error.php?Us=".$Usr."' ;
</script>
<font color='white'><br><br>Please wait...</font>
<body bgcolor='black'> ";}
?>
-----
Alle Variablen werden als Leer angezeigt...
Hi,
Irgendwie werden die Variablen nicht "realisiert".
das liegt daran, dass es sich bei dem, was Du meinst, nicht um Variablen handelt. Du meinst Parameter. Diese haben nichts mit Variablen zu tun, sie sind ihnen nicht einmal ähnlich.
Frühere PHP-Versionen, die vor vielen(!) Jahren im Umlauf waren, enthielten den schwerwiegenden Bug, dass URL- und POST-Parameter, Cookies, HTTP-Header etc. automatisch als Variablen zur Verfügung gestellt wurden. Die Default-Einstellung wurde bald korrigiert, so dass dieses Problem nicht mehr vorlag; und die kommende PHP-Version bietet nicht einmal mehr die Möglichkeit. Greif also auf die Parameter über die Superglobalen $_GET, $_POST, $_REQUEST, $_COOKIES etc. zu.
Header("Location: Wrongpass.php");
Dies ist übrigens ungültiges HTTP. Der Location-Header erfordert zwingend eine absolute URL.
Cheatah
Das versteh ich jetzt irgendwie nicht.
ich hab doch in der html datei <form action='New.php'> eingegeben.
Soweit ich weiss , müssten alle namen der input types in der folgenden php datei Variablen sein, die die values enthält.
ist das denn nicht der fall? Denn es hat zuvor immer geklappt...
Zuvor hattest du wohl einen unsicheren Server. Parameter, die per GET übergeben werden, werden von PHP freundlicher weise in $_GET['PARAMETER_NAME'] gespeichert, POST-Parameter in $_POST, usw. Alles andere ist ohne zusätzliche Vorkehrungen (Die man sich sparen kann) absolut fahrlässig.
52.000 Dank an euch beide!ich habs gerafft :D.
Das mit den parametern bei cheatah und bei patrick das mit der variable :D.