Maison développement back-end tutoriel php que sont les variables extérieures à php

que sont les variables extérieures à php

Jun 20, 2017 am 10:06 AM
php 变量

Formulaires HTML (GET et POST)

Lorsqu'un formulaire est soumis à un script PHP, les informations du formulaire sont automatiquement disponibles dans le script. Il existe de nombreuses façons d'accéder à ces informations, par exemple :

Exemple n°1 Un formulaire HTML simple

<form action="foo.php" method="POST">
    Name:  <input type="text" name="username"><br />
    Email: <input type="text" name="email"><br />
    <input type="submit" name="submit" value="Submit me!" />
</form>
Copier après la connexion

Il existe de nombreuses façons d'accéder à ces informations dans un formulaire HTML, en fonction de votre configuration spécifique et données de préférences personnelles. Par exemple :

Exemple n°2 Accéder aux données à partir d'un simple formulaire HTML POST

<?php
// 自 PHP 4.1.0 起可用
   echo $_POST[&#39;username&#39;];
   echo $_REQUEST[&#39;username&#39;];
   
   import_request_variables(&#39;p&#39;, &#39;p_&#39;);
   echo $p_username;// 自 PHP 5.0.0 起,这些长格式的预定义变量
// 可用 register_long_arrays 指令关闭。   echo $HTTP_POST_VARS[&#39;username&#39;];// 如果 PHP 指令 register_globals = on 时可用。不过自
// PHP 4.2.0 起默认值为 register_globals = off。
// 不提倡使用/依赖此种方法。   echo $username;
?>
Copier après la connexion

L'utilisation d'un formulaire GET est similaire, mais avec les variables prédéfinies GET appropriées. GET fonctionne également avec QUERY_STRING (les informations après le "?" dans l'URL). Ainsi, par exemple, http://www.example.com/test.php?id=3 contient des données GET accessibles avec $_GET['id'] . Voir $_REQUEST et import_request_variables() .

Remarque :

Les tableaux superglobaux tels que $_POST et $_GET sont disponibles depuis PHP 4.1.0.

Remarque :

Les points et les espaces dans les noms de variables sont convertis en traits de soulignement. Par exemple, devient $_REQUEST["a_b"].

Comme indiqué ci-dessus, la valeur par défaut de register_globals avant PHP 4.2.0 était activée. La communauté PHP encourage tout le monde à ne pas se fier à cette directive et recommande de coder en supposant qu'elle est désactivée.

Remarque :

La directive de configuration magic_quotes_gpc affecte les valeurs de Get, Post et Cookie. Si cette option est activée, la valeur (C'est "PHP !") est automatiquement convertie en (C'est "PHP !"). Il y a plus de dix ans, les insertions dans les bases de données nécessitaient un tel échappement, qui est désormais obsolète et devrait être désactivé. Voir addlashes() , stripslashes() et magic_quotes_sybase.

PHP comprend également les tableaux dans le contexte des variables de formulaire (voir la FAQ associée). Par exemple, vous pouvez regrouper des variables associées ou utiliser cette fonctionnalité pour obtenir des valeurs à partir d'une zone de saisie à sélection multiple. Par exemple, POSTez-vous un formulaire et affichez les données une fois soumis :

Exemple n°3 Variables de formulaire plus complexes

<?php
if (isset( $_POST [ &#39;action&#39; ]) &&  $_POST [ &#39;action&#39; ] ==  &#39;submitted&#39; ) {
    echo  &#39;<pre class="brush:php;toolbar:false">&#39; ;

     print_r ( $_POST );
    echo  &#39;<a href="&#39; .  $_SERVER [ &#39;PHP_SELF&#39; ] . &#39;">Please try again</a>&#39; ;

    echo  &#39;
' ; } else { ?>
Name:
Email:
Beer:

Copier après la connexion

IMAGE SUBMIT nom de la variable

Lors de la soumission Lors de la formation un formulaire, vous pouvez remplacer le bouton de soumission standard par une image, en utilisant une balise comme celle-ci :

<input type="image" src="image.gif" name="sub" />
Copier après la connexion

Lorsque l'utilisateur clique quelque part dans l'image, le formulaire correspondant sera envoyé au serveur et ajoutera deux variables sub_x et sub_y. Ils contiennent les coordonnées de l'image sur laquelle l'utilisateur a cliqué. Les utilisateurs expérimentés remarqueront peut-être que le nom de variable envoyé par le navigateur contient un point au lieu d'un trait de soulignement (c'est-à-dire sub.x et sub.y), mais PHP convertit automatiquement le point en trait de soulignement.

Cookies HTTP

PHP prend en charge de manière transparente » les cookies HTTP tels que définis dans la RFC 6265. Les cookies sont un mécanisme qui stocke des données sur un navigateur distant et peut suivre ou identifier les utilisateurs qui visitent à nouveau. Les cookies peuvent être définis à l'aide de la fonction setcookie(). Les cookies font partie des en-têtes HTTP, la fonction SetCookie doit donc être appelée avant qu'une sortie ne soit envoyée au navigateur. Les mêmes restrictions s'appliquent à la fonction header(). Les données des cookies seront disponibles dans le tableau de données des cookies correspondant, tel que $_COOKIE , $HTTP_COOKIE_VARS et $_REQUEST . Consultez la page de manuel setcookie() pour plus de détails et d'exemples.

Si vous souhaitez attribuer plusieurs valeurs à une variable de cookie, vous devez l'attribuer à un tableau. Par exemple :

<?php
  setcookie ( "MyCookie[foo]" ,  &#39;Testing 1&#39; ,  time ()+ 3600 );
   setcookie ( "MyCookie[bar]" ,  &#39;Testing 2&#39; ,  time ()+ 3600 );
?>
Copier après la connexion

Cela créera deux cookies distincts, même si MyCookie est un seul tableau dans le script. Si vous souhaitez définir plusieurs valeurs dans un seul cookie, envisagez d'abord d'utiliser serialize() ou explosive() sur les valeurs.

Notez qu'un cookie remplacera le cookie précédent du même nom dans le navigateur, sauf si le chemin ou le domaine est différent. Par conséquent, le programme de panier d'achat peut conserver un compteur et le transmettre ensemble, par exemple :

Exemple n°4 Un exemple de setcookie()

<?php
if (isset( $_COOKIE [ &#39;count&#39; ])) {
     $count  =  $_COOKIE [ &#39;count&#39; ] +  1 ;
} else {
     $count  =  1 ;
}
setcookie ( &#39;count&#39; ,  $count ,  time ()+ 3600 );
setcookie ( "Cart[ $count ]" ,  $item ,  time ()+ 3600 );
?>
Copier après la connexion

变量名中的点

通常,PHP 不会改变传递给脚本中的变量名。然而应该注意到点(句号)不是 PHP 变量名中的合法字符。至于原因,看看:

<?php
$varname . ext ;   
?>
Copier après la connexion

这时,解析器看到是一个名为 $varname 的变量,后面跟着一个字符串连接运算符,后面跟着一个裸字符串(即没有加引号的字符串,且不匹配任何已知的健名或保留字)'ext'。很明显这不是想要的结果。

出于此原因,要注意 PHP 将会自动将变量名中的点替换成下划线。

确定变量类型

因为 PHP 会判断变量类型并在需要时进行转换(通常情况下),因此在某一时刻给定的变量是何种类型并不明显。PHP 包括几个函数可以判断变量的类型,例如: gettype() , is_array() , is_float() , is_int() , is_object()和 is_string() 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles