รับพารามิเตอร์ PHP [ซ้ำกัน]

Oct 21 2020

ฉันมีเว็บไซต์ HTML / PHP (โค้ด HTML ภายใน. php ของฉัน)

ฉันใช้เมธอด $ _GET ["name"] เพื่อที่ฉันจะสามารถเขียนชื่อแขกของฉันในลิงก์ที่ฉันส่งไปได้ (สำหรับตัวอย่าง: mywebsite.com/index.php?name=Mike) นี่คือรหัสที่ฉันใช้:

<p class="guest_info"> 
        <?php echo " " . $_GET["name"]; ?> 
        <img alt="account_avatar" src="./index_files/avatar.svg">
        </p>    

ตอนนี้ฉันต้องการใช้ชื่อนี้ในหน้า differents ปัญหาปัจจุบันของฉันคือถ้าฉันให้ลิงก์และหลังจากคลิกที่หน้าอื่นในเว็บไซต์ของฉัน ["name"] จะไม่ถูกบันทึก ฉันต้องการบันทึกชื่อที่ใช้ใน URL แรกที่ระบุขณะนำทางและถ้าฉันเปลี่ยนชื่อในลิงก์ชื่อนั้นจะเปลี่ยนหน้าเว็บโดยอัตโนมัติด้วย

ขอบคุณสำหรับการช่วยเหลือ

คำตอบ

2 GrumpyCrouton Oct 21 2020 at 01:42

คุณควรใช้เซสชั่น PHPหรือคุกกี้เบราว์เซอร์

session_start()ใช้เส้นทางเซสชั่นที่จุดเริ่มต้นของหน้าของคุณให้แน่ใจว่าจะเพิ่ม

จากนั้นคุณสามารถจัดเก็บค่าเป็นค่าเซสชัน

if(array_key_exists('name', $_GET) && !array_key_exists('name', $_SESSION)) {
    $_SESSION['name'] = $_GET['name'];
}

ตอนนี้หลังจากรหัสนั้นคุณสามารถใช้$_SESSION['name']เพื่อเข้าถึงค่าได้ทุกที่ตราบเท่าที่เซสชันนั้นยังคงอยู่

freefall Oct 21 2020 at 01:29

เพื่อ$_GET['name']ให้ยังคงอยู่จากหน้าหนึ่งไปอีกหน้าหนึ่งคุณต้องส่งต่อไปในสตริงการสืบค้น URL ตัวอย่างเช่นสิ่งนี้:<a href="index.php?name=<?php echo $_GET['name']; ?>">Link</a>