Heim  >  Fragen und Antworten  >  Hauptteil

So zeigen Sie eine Nachricht nach dem Absenden des Formulars auf derselben Seite an

<?php
session_start();
include("includes/config.php"); 

if(isset($_POST['submit'])){
    
    if (empty($username)){
        $error1 = "Please enter username.";
        header("location: index.php");

    }
    
    $username=mysqli_real_escape_string($con,$_POST['username']);
    $password=mysqli_real_escape_string($con,$_POST['password']);
    
    $sql="select * from admin_user where username='$username' and password='$password'";
    
    $res=mysqli_query($con,$sql);
    if (mysqli_num_rows($res)>0){
        
       session_start();
       $_SESSION["username"] = $username;
       $_SESSION["id"] = $id;
       $_SESSION['admin']['status']= true ;

      header("location: dashboard.php");
    }else{
        $unsucess = "Invalid username or password.";
header("location: index.php");
    }
        
        
}
?>

                    

<?php if(!empty($error1)) {?>
   <p><?php echo $error1; ?></p>
<?php } ?>
                       
                           <form method ="post">
                              <div class="mb-3">
                                 <label for="username" class="form-label">Username*</label>
                                 <input type="text" name="username" class="form-control" id="username" placeholder="Enter username">
                              </div>
                              <div class="mb-3">
                           
                                 <label class="form-label" for="password-input">Password*</label>
                                 <div class="position-relative auth-pass-inputgroup mb-3">
                                    <input type="password" name="password" class="form-control pe-5" placeholder="Enter password" id="password">
                                    <button class="btn btn-link position-absolute end-0 top-0 text-decoration-none text-muted shadow-none" type="button" id="password-addon"><i class="ri-eye-fill align-middle"></i></button>
                                 </div>
                              </div>
                              <div class="mt-4">
                                 <button class="btn btn-success w-100" name="submit" type="submit">Sign In</button>
                              </div>
                   
                           </form>

Ich sende das Formular per Post auf derselben Seite ab. Nach dem Absenden des Formulars überprüfe ich eine Bedingung und wenn der Benutzername leer ist, zeige ich oben im Formular die Meldung $error1 = „Please enter username“ an. Das Problem, mit dem ich konfrontiert bin, besteht darin, dass die Nachricht im Hauptteil korrekt angezeigt wird, wenn ich den Header („location: index.php“) entferne. Wenn Sie jedoch header("location:index.php"); zum Aktualisieren der Seite hinzufügen, wird $error1 aufgrund der Seitenaktualisierung nicht angezeigt. aber es gibt keinen Titel („Speicherort: index.php“). Die Meldung, die der Browser während der Seitenaktualisierung ausgibt, lautet (Um diese Seite anzuzeigen, muss Firefox Developer Edition eine Info senden.) Vorschläge, wie die Meldung korrekt angezeigt werden kann und wie um Duplikate nach dem Absenden des Formulars zu verhindern, einschließlich Header("location: index.php"); 在此输入代码

P粉155128211P粉155128211267 Tage vor381

Antworte allen(1)Ich werde antworten

  • P粉513318114

    P粉5133181142024-01-01 14:35:37

    在会话中添加错误并检查会话设置值是否回显错误并取消设置错误会话

    0){
            
           session_start();
           $_SESSION["username"] = $username;
           $_SESSION["id"] = $id;
           $_SESSION['admin']['status']= true ;
    
          header("location: dashboard.php");
        }else{
            $_SESSION['error1'] = "Invalid username or password.";
            header("location: index.php");
        }
            
            
    }
    ?>
    
                        
    
    
       

    Antwort
    0
  • StornierenAntwort