Рэдагаванне 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 адказы

$ Т і іншыя не ў глабальным маштабе. Вяртанне іх.

<?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
дададзена
Дзякуй за спасылку; Я проста павінен быў паставіць: глабальны $ т, $ ч, $ р ўнутры функцыі.
дададзена аўтар avinashbot, крыніца
гэта, верагодна, лепш практыка, каб не выкарыстоўваць Глобал ў функцыях, калі вы можаце пазбегнуць гэтага. Genesis прапануе вярнуцца масіў.
дададзена аўтар horatio, крыніца