Редагування HTML на основі $ _GET

<?php
$g = $_GET['e'];
$t = "Title!";
$h = "";
$p = "";

function errorput($et,$eh,$ep) {
    $t = $et;
    $h = '

'.$eh.'

';
    $p = '
'.$ep.''; } if ($g == "nodata") { errorput("Missing Something...", "Blank Field", "You left a box or few empty."); } elseif ($g == "nopass") { errorput("Password Incorrect!", "Encrypted Hash Unmatched", "Your password is probably wrong."); } else { errorput($t, "I have no idea.", "There was an error, but we don't know why."); } ?> <!DOCTYPE HTML> <html> <head> <title><?php echo $t ?></title> <head> <body> <?php echo $h; echo $p; ?> </body> </html>

Таким чином, він виводить HTML на основі того, що він отримує через GET. Чому це не працює?

0

2 Відповіді

$ t та інші не є глобальними. Повернути їх.

<?php
$g = $_GET['e'];
$t = "Title!";
$h = "";
$p = "";

function errorput($et, $eh, $ep)
{
    $t = $et;
    $h = '

' . $eh . '

';
    $p = '
' . $ep . ''; return array( $t, $h, $p ); } if ($g == "nodata") { $errors = errorput("Missing Something...", "Blank Field", "You left a box or few empty."); } elseif ($g == "nopass") { $errors = errorput("Password Incorrect!", "Encrypted Hash Unmatched", "Your password is probably wrong."); } else { $errors = errorput($t, "I have no idea.", "There was an error, but we don't know why."); } ?> <!DOCTYPE HTML> <html> <head> <title><?php echo $errors[0]; ?></title> <head> <body> <?php echo $errors[1] . $errors[2]; ?> </body> </html>
2
додано

Ви намагаєтесь використовувати змінні поза функцією всередині функції, яка не буде працювати, як ви думаєте.

Please read up on variable scope: http://php.net/manual/en/language.variables.scope.php

Якщо ви змінили свою функцію:

На вершині це буде працювати, як ви хочете, але це неправильно.

0
додано
Дякую за посилання; Я просто поставив: глобальний $ t, $ h, $ p всередині функції.
додано Автор avinashbot, джерело
це, мабуть, краща практика не використовувати глосарій у функціях, якщо ви можете уникнути цього. Genesis пропонує повернути масив.
додано Автор horatio, джерело
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php