Le code indique "Erreur interne du serveur" et ne me redirige pas vers le bon site Web.
P粉819533564
2023-07-27 09:52:09
<p>Salut tout le monde ! J'ai rencontré une erreur dans ce morceau de code particulier, vous trouverez ci-dessous le message d'erreur. Tout le code de mon autre site Web fonctionne correctement, sauf doEditAccount.php. </p><p>Erreur interne du serveur Le serveur a rencontré une erreur interne ou une mauvaise configuration et n'a pas pu répondre à votre demande. </p><p>Veuillez contacter l'administrateur du serveur à postmaster@localhost pour lui faire savoir quand l'erreur s'est produite et ce que vous avez fait avant qu'elle ne se produise. </p><p>Des informations supplémentaires sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur. </p><p>Apache/2.4.54 (Win64) Le serveur OpenSSL/1.1.1p PHP/8.2.0 est situé sur le port localhost 80.</p><p>以下是我的代码:Account.php:</p><p><br /></p>
<pre class="brush:php;toolbar:false;">//L'utilisateur peut choisir de modifier ou de supprimer son compte ici
session_start();
include_once("linkConnection.php");
include_once("navbar.php");
include_once("session.php");
if(isset($_SESSION['userId'])){
$userId=$_SESSION['userId'];
$query="SELECT * FROM utilisateurs WHERE userId = $userId";
$Result=mysqli_fetch_assoc(mysqli_query($link,$query));
echo " <br><b>Nom d'utilisateur</b> : ".$_SESSION['nom d'utilisateur'];
echo "<br><b>Mot de passe</b> : ".$Result['mot de passe'];
echo "<br><b>Nom</b> : ".$Result['name'];
echo "<br><b>Date de naissance</b> : " .$Result['dob'];
echo "<br><b>E-mail</b> : " .$Result['email'];
?>
<form action="editAccount.php" method="post">
<input type="submit" value="Modifier le compte" name="edit1"/>
</formulaire>
<br>
<form action="deleteAccount.php" method="post">
<input type="submit" value="Supprimer le compte"/>
</formulaire>
<br><br>
<?php
}
autre{
echo "Veuillez vous connecter pour afficher les informations du compte.";
}
?>
<html>
<tête>
≪/tête>
<corps>
<h3>Personnalisation du compte</h3>
<?php
$Points_needed=100-$Résultat['points'];
?>
<p>Niveau actuel : <?php echo $Result['level']?> (Vous avez besoin de <?php echo $Points_needed?> plus de points pour passer au niveau supérieur !)</p>
<div class="w3-light-grey">
<div id="myBar" class="w3-container w3-green w3-center" style="width:<?php echo $Result['points']?>%"><?php echo $Résultat['points']?></div>
</div>
<?php if (isset($_SESSION['userId'])){?>
<form action="doEditAccount.php" method="post">
<br/><br/>
<div class="level-container">
<étiquette>Niveau 1 :</étiquette>
<br>
<br>
<input type="radio" name="color" value="lightgrey" />Gris clair
<input type="radio" name="color" value="lightjaune"/>Jaune clair
<input type="radio" name="color" value="beige"/>Beige
<input type="radio" name="color" value="lightpink"/>Rose clair
<input type="radio" name="color" value="darkseagreen"/>Vert mer foncé
<input type="radio" name="color" value="lightblue"/>Bleu clair
</div>
<?php
?>
<?php
if ($Result['level']>=5){ ?>
<div class="level-container">
<label>Niveau 5 :</label>
<br>
<br>
<input type="radio" name="lv5BG" value="background.jpg" />Contexte mystique
<input type="radio" name="lv5BG" value="hellokitty.jpg" />Arrière-plan Hello Kitty
<input type="radio" name="lv5BG" value="jaune.jpg" />Fond fleuri
</div>
<?php
}autre{
?>
<div class="level-container">
<label>Niveau 5 :</label>
<br>
<br>
<input type="radio" name="lv5BG" value="background.jpg" désactivé/>Fond mystique
<input type="radio" name="lv5BG" value="hellokitty.jpg" désactivé/>Arrière-plan Hello Kitty
<input type="radio" name="lv5BG" value="jaune.jpg" désactivé/>Fond fleuri
</div>
<?php
}
if ($Result['level']>=10){?>
<div class="level-container">
<label>Niveau 10 :</label>
<br><br>
<input type="radio" name="lv10BG" value="lv10 - rainbow.gif mobile" />Gif arc-en-ciel mobile
<input type="radio" name="lv10BG" value="lv10 - lightbugs.gif" />Firebugs mobiles mystiques
</div>
<?php
}autre{?>
<div class="level-container">
<label>Niveau 10 :</label>
<br><br>
<input type="radio" name="lv10BG" value="lv10 - rainbow.gif mobile" désactivé/>Gif arc-en-ciel mobile
<input type="radio" name="lv10BG" value="lv10 - lightbugs.gif" désactivé/>Firebugs mobiles mystiques
</div>
<?php
}
?>
<input type="submit" value="Confirm Change" name="edit2"/>
</formulaire>
<?php
}
?>
</corps>
</html></pre>
<p>L'entrée du formulaire Account.php sera transmise à doEditAccount.php, vous trouverez ci-dessous le 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");
si(isset($_POST['edit1'])){
}autre{
}
// $_SESSION['Cmsg'] = Message de personnalisation
if (isset($_POST['edit2'])) {
if (isset($_POST['color'])) {
$plaincolor = $_POST['couleur'];
setcookie("lv5BG", "", time() - 3600); // Supprime le cookie lv5BG s'il existe
setcookie("lv10BG", "", time() - 3600); // Supprime le cookie lv10BG s'il existe
setcookie("plaincolor", $plaincolor, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['Cmsg'] = "Vous avez réussi à changer l'arrière-plan en $plaincolor.";
} elseif (isset($_POST['lv5BG'])) {
$lv5BG = $_POST['lv5BG'];
setcookie("plaincolor", "", time() - 3600); // Supprime le cookie de couleur unie s'il existe
setcookie("lv10BG", "", time() - 3600); // Supprime le cookie lv10BG s'il existe
setcookie("lv5BG", $lv5BG, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['Cmsg'] = "Vous avez réussi à changer l'arrière-plan en $lv5BG.";
} elseif (isset($_POST['lv10BG'])) {
$lv10BG = $_POST['lv10BG'];
setcookie("plaincolor", "", time() - 3600); // Supprime le cookie de couleur unie s'il existe
setcookie("lv5BG", "", time() - 3600); // Supprime le cookie lv5BG s'il existe
setcookie("lv10BG", $lv10BG, time() + 60 * 60 * 24 * 365 * 10);
$_SESSION['msg'] = "Vous avez réussi à changer l'arrière-plan en $lv10BG.";
} autre {
$_SESSION['Cmsg'] = "Vous n'avez rien soumis. Aucune modification des personnalisations.";
}
header('Emplacement : Login.php');
}
?>≪/pré>
<p>Connexion.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 = "couleur de fond : " . $_COOKIE['plaincolor'] . ";";
} elseif (isset($_COOKIE['lv5BG'])) {
$backgroundStyle = "image d'arrière-plan : url(images/".$_COOKIE['lv5BG']."");
}elseif (isset($_COOKIE['lv10BG'])) {
$backgroundStyle = "image d'arrière-plan : url(images/".$_COOKIE['lv10BG'].")" ;
echo $_COOKIE['lv10BG'];
}echo $backgroundStyle;
?>
<!DOCTYPE html>
<!--
Pour modifier cet en-tête de licence, choisissez En-têtes de licence dans les propriétés du projet.
Pour modifier ce fichier modèle, choisissez Outils | Modèles
et ouvrez le modèle dans l'éditeur.
--->
<html>
<tête>
<title>TODO fournit un titre</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
≪/tête>
<body style="<?php echo $backgroundStyle?>; background-size: cover; background-repeat: no-repeat;">
<!--
formulaire
--->
<?php
if (isset($_SESSION['msg'])){
?>
<div class="alerte alerte-succès">
<h5><?php echo $_SESSION['msg'];?></h5>
</div>
<?php
}
unset($_SESSION['msg']);
?>
<form name="Connexion" méthode="post" action="doLogin.php" class="ReviewEdit">
<h1>Page de connexion :</h1>
<?php if(isset($_COOKIE['username'])){?>
Votre nom d'utilisateur : <br>
<input style="border:2px noir uni;" id="idName" type="text" name="Uname" placeholder="Entrez votre nom d'utilisateur" value="<?php echo $_COOKIE['username']?>"/>
<br><br>
<?php
}autre{?>
Votre nom d'utilisateur : <br>
<input style="border:2px noir uni;" id="idName" type="text" name="Uname" placeholder="Entrez votre nom d'utilisateur" />
<?php
}
?>
Votre mot de passe : <br>
<input style="border:2px noir uni;" id="idEmail" type="mot de passe" name="pw" placeholder="Entrez votre mot de passe"/>
<br><br>
<input type="checkbox" value="Se souvenir de moi" name="Se souvenir"> Se souvenir de moi
<a href="forget-password.php">Mot de passe oublié</a>
<input type="submit" value="Connexion">
<br><br>
</formulaire>
<h5 class="notImportant forlogin"> Pas encore membre? Enregistrez-vous <a href="Register.php" style="color: darkslategray">ici</a> </h5>
</corps>
</html></pre>
<p> Il s'agit d'un fichier doEditAccount.php. ,除此之外,我的其他网站都能正常工作。有什么问题的想法吗?</p><p>我以为是重定向的Il s'agit d'un header("Location:Login.php "),误,无法解决。</p><p><br /> </p>
Essayez de supprimer l'espace après Location dans header('Location: Login.php'); et remplacez-le par header('Location: Login.php');, et ajoutez une instruction de sortie sous la fonction d'en-tête pour empêcher l'envoi de tout exécution. un code supplémentaire après la redirection de l'en-tête est considéré comme une bonne pratique lors de l'utilisation de header() pour la redirection.
J'aime ça :