Der Code sagt „Interner Serverfehler' und leitet mich nicht auf die richtige Website weiter.
P粉819533564
2023-07-27 09:52:09
<p>Hallo zusammen! In diesem speziellen Codeteil ist ein Fehler aufgetreten. Unten finden Sie die Fehlermeldung. Der gesamte Code meiner anderen Website funktioniert einwandfrei, außer doEditAccount.php. </p><p>Interner Serverfehler Der Server hat einen internen Fehler oder eine Fehlkonfiguration festgestellt und konnte Ihre Anfrage nicht abschließen. </p><p>Bitte kontaktieren Sie den Serveradministrator unter postmaster@localhost, um ihm mitzuteilen, wann der Fehler aufgetreten ist und was Sie getan haben, bevor der Fehler aufgetreten ist. </p><p>Weitere Informationen zu diesem Fehler finden Sie möglicherweise im Server-Fehlerprotokoll. </p><p>Apache/2.4.54 (Win64) OpenSSL/1.1.1p PHP/8.2.0-Server befindet sich auf Localhost-Port 80.</p><p>以下是我的代码:Account.php:</p><p><br /></p>
<pre class="brush:php;toolbar:false;">//Benutzer können hier ihr Konto bearbeiten oder löschen
session_start();
include_once("linkConnection.php");
include_once("navbar.php");
include_once("session.php");
if(isset($_SESSION['userId'])){
$userId=$_SESSION['userId'];
$query="SELECT * FROM users WHERE userId = $userId";
$Result=mysqli_fetch_assoc(mysqli_query($link,$query));
echo " <br><b>Benutzername</b> : ".$_SESSION['username'];
echo "<br><b>Passwort</b> : ".$Result['password'];
echo "<br><b>Name</b> : ".$Result['name'];
echo "<br><b>Geburtsdatum</b> : " .$Result['dob'];
echo "<br><b>Email</b> : " .$Result['email'];
?>
<form action="editAccount.php" method="post">
<input type="submit" value="Konto bearbeiten" name="edit1"/>
</form>
<br>
<form action="deleteAccount.php" method="post">
<input type="submit" value="Konto löschen"/>
</form>
<br><br>
<?php
}
anders{
echo „Bitte melden Sie sich an, um Kontoinformationen anzuzeigen.“;
}
?>
<html>
<Kopf>
</head>
<Körper>
<h3>Kontoanpassung</h3>
<?php
$Points_needed=100-$Result['points'];
?>
<p>Aktuelle Ebene: <?php echo $Result['level']?> (Sie benötigen <?php echo $Points_needed?> mehr Punkte, um ein höheres Level zu erreichen!)</p>
<div class="w3-light-grey">
<div id="myBar" class="w3-container w3-green w3-center" style="width:<?php echo $Result['points']?>%"><?php echo $Result['points']?></div>
</div>
<?php if (isset($_SESSION['userId'])){?>
<form action="doEditAccount.php" method="post">
<br/><br/>
<div class="level-container">
<label>Ebene 1:</label>
<br>
<br>
<input type="radio" name="color" value="lightgrey" />Hellgrau
<input type="radio" name="color" value="lightyellow"/>Hellgelb
<input type="radio" name="color" value="beige"/>Beige
<input type="radio" name="color" value="lightpink"/>Hellrosa
<input type="radio" name="color" value="darkseagreen"/>Dunkles Meeresgrün
<input type="radio" name="color" value="lightblue"/>Hellblau
</div>
<?php
?>
<?php
if ($Result['level']>=5){ ?>
<div class="level-container">
<label>Stufe 5:</label>
<br>
<br>
<input type="radio" name="lv5BG" value="background.jpg" />Mystischer Hintergrund
<input type="radio" name="lv5BG" value="hellokitty.jpg" />Hello Kitty Hintergrund
<input type="radio" name="lv5BG" value="yellow.jpg" />Blumiger Hintergrund
</div>
<?php
}anders{
?>
<div class="level-container">
<label>Stufe 5:</label>
<br>
<br>
<input type="radio" name="lv5BG" value="background.jpg" deaktiviert/>Mystischer Hintergrund
<input type="radio" name="lv5BG" value="hellokitty.jpg" deaktiviert/>Hello Kitty Hintergrund
<input type="radio" name="lv5BG" value="gelb.jpg" deaktiviert/>Blumiger Hintergrund
</div>
<?php
}
if ($Result['level']>=10){?>
<div class="level-container">
<label>Stufe 10:</label>
<br><br>
<input type="radio" name="lv10BG" value="lv10 - beweglicher Regenbogen.gif" />Bewegliches Regenbogen-GIF
<input type="radio" name="lv10BG" value="lv10 - lightbugs.gif" />Mystische bewegliche Feuerkäfer
</div>
<?php
}else{?>
<div class="level-container">
<label>Stufe 10:</label>
<br><br>
<input type="radio" name="lv10BG" value="lv10 - beweglicher Regenbogen.gif" deaktiviert/>Bewegliches Regenbogen-GIF
<input type="radio" name="lv10BG" value="lv10 - lightbugs.gif" deaktiviert/>Mystical Movable Firebugs
</div>
<?php
}
?>
<input type="submit" value="Änderung bestätigen" name="edit2"/>
</form>
<?php
}
?>
</body>
</html></pre>
<p>Account.php-Formulareingaben werden an doEditAccount.php übergeben, unten ist der Code.</p>
<pre class="brush:php;toolbar:false;">error_reporting(E_ALL);
ini_set('display_errors', '1');
include_once("linkConnection.php");
include_once("navbar.php");
include_once("session.php");
if(isset($_POST['edit1'])){
}anders{
}
// $_SESSION['Cmsg'] = Anpassungsnachricht
if (isset($_POST['edit2'])) {
if (isset($_POST['color'])) {
$plaincolor = $_POST['color'];
setcookie("lv5BG", "", time() - 3600); // lv5BG-Cookie entfernen, falls vorhanden
setcookie("lv10BG", "", time() - 3600); // lv10BG-Cookie entfernen, falls vorhanden
setcookie("plaincolor", $plaincolor, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['Cmsg'] = "Sie haben den Hintergrund erfolgreich in $plaincolor geändert.";
} elseif (isset($_POST['lv5BG'])) {
$lv5BG = $_POST['lv5BG'];
setcookie("plaincolor", "", time() - 3600); // Einfarbiges Cookie entfernen, falls vorhanden
setcookie("lv10BG", "", time() - 3600); // lv10BG-Cookie entfernen, falls vorhanden
setcookie("lv5BG", $lv5BG, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['Cmsg'] = "Sie haben den Hintergrund erfolgreich auf $lv5BG geändert.";
} elseif (isset($_POST['lv10BG'])) {
$lv10BG = $_POST['lv10BG'];
setcookie("plaincolor", "", time() - 3600); // Einfarbiges Cookie entfernen, falls vorhanden
setcookie("lv5BG", "", time() - 3600); // lv5BG-Cookie entfernen, falls vorhanden
setcookie("lv10BG", $lv10BG, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['msg'] = "Sie haben den Hintergrund erfolgreich auf $lv10BG geändert.";
} anders {
$_SESSION['Cmsg'] = "Sie haben nichts übermittelt. Keine Änderung an den Anpassungen.";
}
header('Standort: Login.php');
}
?></pre>
<p>Login.php:</p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
include_once("navbar.php");
include_once("session.php");
$backgroundStyle = "";
if (isset($_COOKIE['plaincolor'])) {
$backgroundStyle = "Hintergrundfarbe: " . $_COOKIE['plaincolor'] . ";";
} elseif (isset($_COOKIE['lv5BG'])) {
$backgroundStyle = "Hintergrundbild: url(images/".$_COOKIE['lv5BG'].")";
}elseif (isset($_COOKIE['lv10BG'])) {
$backgroundStyle = "Hintergrundbild: url(images/".$_COOKIE['lv10BG'].")";
echo $_COOKIE['lv10BG'];
}echo $backgroundStyle;
?>
<!DOCTYPE html>
<!--
Um diesen Lizenzheader zu ändern, wählen Sie „Lizenzheader“ in den Projekteigenschaften.
Um diese Vorlagendatei zu ändern, wählen Sie Extras | Vorlagen
und öffnen Sie die Vorlage im Editor.
-->
<html>
<Kopf>
<title>TODO liefert einen Titel</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="<?php echo $backgroundStyle?>; background-size: cover; background-repeat: no-repeat;">
<!--
bilden
-->
<?php
if (isset($_SESSION['msg'])){
?>
<div class="alert alarm-success">
<h5><?php echo $_SESSION['msg'];?></h5>
</div>
<?php
}
unset($_SESSION['msg']);
?>
<form name="Login" method="post" action="doLogin.php" class="ReviewEdit">
<h1>Anmeldeseite:</h1>
<?php if(isset($_COOKIE['username'])){?>
Ihr Benutzername: <br>
<input style="border:2px solid black;" id="idName" type="text" name="Uname" placeholder="Geben Sie Ihren Benutzernamen ein" value="<?php echo $_COOKIE['username']?>"/>
<br><br>
<?php
}else{?>
Ihr Benutzername: <br>
<input style="border:2px solid black;" id="idName" type="text" name="Uname" placeholder="Geben Sie Ihren Benutzernamen ein" />
<?php
}
?>
Ihr Passwort: <br>
<input style="border:2px solid black;" id="idEmail" type="password" name="pw" placeholder="Geben Sie Ihr Passwort ein"/>
<br><br>
<input type="checkbox" value="Mich merken" name="Mich erinnern">Mich merken
<a href="forget-password.php">Passwort vergessen</a>
<input type="submit" value="Login">
<br><br>
</form>
<h5 class="notImportant forlogin"> Noch kein Mitglied? Registrieren Sie sich <a href="Register.php" style="color: darkslategray">hier</a> </h5>
</body>
</html></pre>
<p>gt;给我显示之前在doEditAccount.php网站上提到的错误,除此之外,我的其他网站都能正常工作。有什么问题的想法吗?</p><p>我以为是重定向的问题, 所以尝试删除header("Location:Login.php „),误,无法解决。</p><p><br /> </p>
尝试将header('Location : Login.php');中的Location后面的空格移除,改为header('Location: Login.php');,并在header函数下面添加exit语句,以防止在发送重定向header后执行任何进一步的代码,这被认为是使用header()进行重定向时的良好实践。
像这样: