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='form1' id="form1"> < input type="text" name="dopost" value="hello weste.net!" /> < input type="submit" name="weste" value="提交" /> < /form>
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 'register_globals = ' . ini_get('register_globals'); ?>
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])
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; ?>
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)
Verwendung:
if(!empty($_POST)) extract($_POST); echo $dopost; ?>
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('^(cfg_|GLOBALS)',$_k) && !isset($_COOKIE[$_k]) ) { exit('Request var not allow!'); } } 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('_GET','_POST','_COOKIE') as $_request) { foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v); }
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)!