6 Möglichkeiten, Werte zwischen PHP-Seiten zu übertragen

PHP中文网
Freigeben: 2023-02-28 22:30:02
Original
4585 Leute haben es durchsucht

6 Möglichkeiten, Werte zwischen PHP-Seiten zu übertragen:

1 4 und höher Methoden zum Erhalten übergebener Werte

Im Allgemeinen sind die gebräuchlichsten Methoden zum Übergeben von Werten in Seiten POST, GET und COOKIE, daher werde ich im Folgenden hauptsächlich diese vorstellen. PHP4 und höher verwenden $_POST, $_GET und andere Arrays, um Webseitenwerte zu erhalten. In PHP3.0 und niedriger werden Arrays wie $HTTP_POST_VARS und $HTTP_GET_VARS verwendet. Die spezifischen Codes lauten wie folgt:

echo $_POST['dopost'];
?>

< form action="weste_net.php" method="post" name=&#39;form1&#39; id="form1">
< input type="text" name="dopost" value="hello weste.net!" />
< input type="submit" name="weste" value="提交" />
< /form>
Nach dem Login kopieren

2. Die in älteren Versionen von PHP3 verwendeten Methoden zur Wertübergabe

Wie oben erwähnt, können Sie zum Lesen Arrays wie $HTTP_POST_VARS, $HTTP_GET_VARS und $HTTP_COOKIE_VARS verwenden. In älteren PHP-Versionen können Sie auch Methoden wie $dopost verwenden, um den übergebenen Wert direkt abzurufen. Unter den folgenden Methoden zum Abrufen des übergebenen Werts einer Webseite konzentriert sich Icech tatsächlich auf die Verwendung von $ dopost. Um den von der Webseite übergebenen Wert zu erhalten.

3. Ändern Sie die Konfiguration der PHP.ini-Datei

Eine weitere Frage ist, warum PHP3 und PHP4 und höher nicht kompatibel sind? Tatsächlich ist ein sehr wichtiger Grund, dass register_globals in der PHP.ini-Datei nach PHP4 standardmäßig auf Off gesetzt ist. Daher kann die vorherige Methode, mit $dopost den Wert der Webseite direkt zu ermitteln, nicht verwendet werden.

Einfache Möglichkeit, den Wert von register_globals zu überprüfen

echo &#39;register_globals = &#39; . ini_get(&#39;register_globals&#39;);
?>
Nach dem Login kopieren

Wenn register_globals=Off, zeigen Sie register_globals = oder register_globals = 0 an

Wenn register_globals=On, zeigen Sie register_globals = 1 an

Register_globals manuell auf „Ein“ ändern. Wenn das übermittelte Formular eine Variable mit dem Namen „dopost“ enthält, können Sie $dopost verwenden, um die Variable in PHP abzurufen. Wenn Sie jedoch einen virtuellen Host verwenden, ist es immer noch schwierig, die Datei php.ini zu ändern. Hier ist nur eine Methode.

4. Verwenden Sie die Funktion import_request_variables

Die Funktion import_request_variables dient zum Importieren von GET-, POST- und Cookie-Variablen in den globalen Bereich, wenn Sie register_globals deaktivieren ist nützlich, wenn Sie einige globale Variablen verwenden möchten.

Syntax:

bool import_request_variables(string $types[, string $prefix])
Nach dem Login kopieren

Der erste Parameter kann g, p oder c sein, was der erste Buchstabe der GET-, POST- und COOKIE-Variablen ist, und die Bedeutung ist sehr klar

Der zweite Parameter ist das importierte Variablenpräfix. Sie können es nach Belieben schreiben.

Einfaches Beispiel:

import_request_variables("p","p_");
echo $p_dopost;
?>
Nach dem Login kopieren

Der HTML-Teil bezieht sich auf Methode 1 und die Der erhaltene Wert ist die Variable des dopost-Eingabefelds.

5. Verwenden Sie die Extraktionsfunktion

Die PHP-Funktion extract() importiert Variablen aus dem Array in die aktuelle Symboltabelle. Für jedes Element im Array wird der Schlüsselname als Variablenname und der Schlüsselwert als Variablenwert verwendet. Der zweite Parametertyp wird verwendet, um anzugeben, wie die Funktion extract() solche Konflikte behandelt, wenn eine Variable bereits vorhanden ist und sich im Array ein Element mit demselben Namen befindet.

Syntax:

extract(array,extract_rules,prefix)
Nach dem Login kopieren

Verwendung:

if(!empty($_POST)) extract($_POST);
echo $dopost;
?>
Nach dem Login kopieren

Ist diese Methode sehr einfach? Auch sehr praktisch.

6. In dedecms verwendete Methoden

Beurteilen Sie im Voraus den Wert von register_globals

Wenn es ausgeschaltet ist, rufen Sie das folgende Programm auf , wenn es eingeschaltet ist, kann es direkt verwendet werden. Der spezifische Code lautet wie folgt und wird in der Datei common.inc.php abgelegt:

//检查和注册外部提交的变量
foreach($_REQUEST as $_k=>$_v)
{
if( strlen($_k)>0 && eregi(&#39;^(cfg_|GLOBALS)&#39;,$_k) && !isset($_COOKIE[$_k]) )
{
exit(&#39;Request var not allow!&#39;);
}
}
function _RunMagicQuotes(&$svar)
{
if(!get_magic_quotes_gpc())
{
if( is_array($svar) )
{
foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
}
else
{
$svar = addslashes($svar);
}
}
return $svar;
}
foreach(Array(&#39;_GET&#39;,&#39;_POST&#39;,&#39;_COOKIE&#39;) as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
Nach dem Login kopieren

Fügen Sie den obigen Code in eine öffentliche PHP-Seite ein. Sie müssen ihn später nur verwenden, wenn Sie den vom Web übergebenen Wert abrufen Seite.

Das Obige ist der Inhalt der 6 Methoden zum Übertragen von Werten zwischen PHP-Seiten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage