L'interrogation avec des données d'entrée

Les services Web peuvent accepter l'entrée d'un GET ou un POST. Aux fins ici, vous utilisez un GET demande d'accepter une URL pour votre l'état du site service Web.

Cette annonce montre la nouvelle l'état du site service Web, avec le code ajouté pour récupérer l'URL de la chaîne de requête.

lt; php $ header = "Content-Type: application / json"? -header ($ header) -Si (isset ($ _ GET ['siteURL'])) {$ = $ _GET place ['siteURL'] -} else {print json_encode (array ("siteStatus" => "Pas de site spécifié")) - sortie -} $ dbLink = mysqli_connect ('localhost', 'user', 'mot de passe' «sites») - if (! $ dbLink) {$ row = array ("siteStatus" => "Erreur de base") - impression json_encode ($ row) -} else {$ escSite = mysqli_real_escape_string ($ dbLink, $ place) - $ query = "SELECT siteStatus DE siteStatus OÙ siteURL = '{$ escSite}' "- if ($ result = mysqli_query ($ dbLink, $ query)) {$ row = $ result-> fetch_array (MYSQLI_ASSOC) -Si (is_null ($ row)) {$ row = array (" siteStatus "=>" Erreur - Site Not Found ") -}} else {$ row = array (" siteStatus "=>" Erreur générale ") -} print json_encode ($ row) -mysqli_close ($ dbLink) -} // ? condition de fin d'autre (pour la connexion de base de données)> L'ajout de code primaire pour cette nouvelle services Web est en haut: if (isset ($ _ GET ['siteURL'])) {$ Site = $ _GET ['siteURL'] -} else {print json_encode (array ("siteStatus" => "Pas de site spécifié")) - EXIT,}



Ce code vérifie pour voir si le siteURL variable est sur la chaîne de requête et si elle est, elle met à la $ Site variable.

Plus tard dans le code, le $ Site variable est échappé de sorte qu'il est sûr à utiliser dans une requête, et la requête elle-même est modifié pour utiliser cette variable nouvellement échappé:

$ escSite = mysqli_real_escape_string ($ dbLink, $ place) - $ query = "SELECT siteStatus DE siteStatus OÙ siteURL = '$ {} escSite'" -

Avec ce code en place, le service Web peut être appelé de nouveau. Cette fois, cependant, au lieu de simplement charger le service web comme http: //localhost/sitestatus.php, vous devez inclure l'URL pour vérifier que partie de l'adresse, comme ceci:

http:? //localhost/sitestatus.php siteURL = http% 3A% 2F% 2Fbraingia.org

Mais attendez! Ce qui est tout ce que % 3A% 2F% 2F dans le http://braingia.org URL? Ce sont des caractères de code URL. Certains caractères sont réservés ou être interdits d'utilisation dans une URL. Il se trouve que : // sont quelques-uns de ces caractères restreints. Par conséquent, ils doivent être convertis (ou échappé) pour être une URL sûr à utiliser.

En tout état de cause, lorsque cette URL est chargée, le site est recherché dans la base de données et son état est renvoyé.


» » » » L'interrogation avec des données d'entrée