В начале моего сайта я спрашиваю имя. Затем я передаю имя на домашнюю страницу с такой же переменной $name. На своей домашней странице они могут нажать кнопку «что-то», чтобы перенаправить их на веб-страницу чего-то С переменной $name в URL. На домашней странице он отображает значение переменной $name в echo "<h1>$name's Profile</h1>";, но по какой-то причине не определено, когда я использую его по ссылке. Вот код:
$name
echo "<h1>$name's Profile</h1>";
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Profile</title> </head> <body> <center> <?php $name = $_GET['name']; echo "<h1>$name's Profile</h1>"; echo "<hr>"; echo "<br>"; echo "<h3>Choose an option</h3>"; if(isset($_GET['btn'])) { $name = $_GET['name']; $loc = 'something.php?name=' . $name; header("Location: " . $loc); exit(); } ?> <input type="Submit" value="Something" name="btn"> </center> </body> </html>
Подписка должна работать
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Profile</title> </head> <body> <center> <?php //First check if $_GET['name'] is set if(isset($_GET['name'])){ $name = $_GET['name']; //So here concatinate the strings and variables properly as following echo "<h1>".$name."'s Profile</h1>". "<hr>". "<br>". "<h3>Choose an option</h3>"; if(isset($_GET['btn'])) { $name = $_GET['name']; $loc = "something.php?name=" . $name; header("Location: " . $loc); die(); }else{ //There was no btn parameter in the url means $_GET['btn'] isn't set notify the user echo "Can't Redirect The Page\nReason: Details Missing..."; } }else{ //There was no name parameter in the url means $_GET['name'] isn't set notify the user echo "Can't Process The Request\nReason: Details Missing..."; } ?> <input type="Submit" value="Something" name="btn"> </center> </body> </html>
Код предполагает, что у вас есть переменная с именем $ name, а не $ name.
Закройте "и сделайте это:
echo "<h1>" . $name . "'s Profile</h1>";
или используйте {} в строке как:
echo "<h1>{$name}'s Profile</h1>";