【解決方法】リダイレクト HTML ページからパラメータを設定できない

プログラミングQA


以下のように、パラメータを使用してPHPからリダイレクトされるHtmlページにパラメータを設定しようとしています

login.php

<?php

$servername = "localhost";
$database = "mydatabase";
$username = "myuser";
$password = "mypwd";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);
  
    
    $sql = mysqli_query($conn,
    "SELECT * FROM myuser WHERE mobi='"
    . $_POST["mobi"] . "' AND
    pwd='" . $_POST["pwd"] . "'    ");

    $mobi=$_POST['mobi'];   
   
    $num = mysqli_num_rows($sql);
   
    if($num > 0) {
    header("Location:https://brandstuckers.com/index.html?mobi=" .$mobi);

    exit();
    
       }
    else
    echo "Invalid Credential";
    
    
    

?>

Index.php

<!Doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>

 
</head>
<body style="margin:0;padding:0">
	<div style="width:100%;" >
		<img  src="img/logo1.jpg" style="display:inline; width:170px; height:70px;" />

		<a href="logout.html" style="display:inline;float:right;padding-right:1%;text-decoration:none;font-size:15px;">LogOut</a>
		
			<a href="login.html" style="display:inline;float:right;padding-right:1%;text-decoration:none;font-size:15px;margin-bottom:0">Login</a>
			

		    <input type="hidden" id="nn" style="display-inline;float:right;padding-right:1%" name="mobil" value="<?php echo $mobi; ?>"/>
		    
		    <span id="nn123"></span>

		</div>

<nav class="navbar navbar-expand-lg navbar-light bg-light" style="margin-top:20px">
    <div class="container-fluid">
        <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
            
        </button>
        <div class="collapse navbar-collapse" id="navbarCollapse">
            <div class="navbar-nav">
                <a href="#" style="color:black;" class="nav-item nav-link active">Home</a>
                <div class="nav-item dropdown">
                    <a href="#" style="color:black;" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">Products</a>
                    <div class="dropdown-menu">
                        <a href="tshirt.html" style="color:black;" class="dropdown-item">T-Shirt</a>
                        <a href="#" style="color:black;" class="dropdown-item">Jeans</a>
                    </div>
                </div>
                <a href="#" class="nav-item nav-link disabled" style="color:black;" tabindex="-1">About Us</a>
                <a href="#" style="color:black;" class="nav-item nav-link disabled" tabindex="-1">Contact Us</a>
            </div>
        </div>
    </div>
</nav>


    
</div>



<script>
    document.getElementById( 'nn123' ).innerHTML = document.getElementById( 'nn' ).value;

</script>



</body>
</html>

index.php で変数を定義していませんが、入力を非表示に設定しています。 index.php ページで $mobi 変数を定義する方法を提案してください。

私が試したこと:

Google で 2 日間この問題を閲覧していますが、成功していません

解決策 1

まず、コードを開発しているときに、各 PHP ページの上部でこれを使用します。スローされたエラーが返されるため、コード エラーが発生した場所を簡単に特定できます。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>

コードを見ると、この行にいくつかの演算子がないため、データが返されません-

header("Location:https://brandstuckers.com/index.html?mobi=" .$mobi);
//This should look like the following -
header("Location:https://brandstuckers.com/index.html?mobi=" .$mobi. "");

これで問題が解決しない場合は、エラーが発生した行と返されたエラーをお知らせください。

コメント

タイトルとURLをコピーしました