Lo que es conseguir y publicar en HTML. Acción y método de atributo.
El uso de métodos de obtener y publicar en PHP es difícil de sobreestimar, ya que estos métodos se encuentran casi en cada sitio. Antes de estudiar el material descrito a continuación, le aconsejo que se familiarice con la etiqueta HTML
Valores
El valor del atributo del método no depende del registro. Hay dos métodos: obtener y publicar.
Obtener este método es uno de los más comunes y diseñados para obtener la información requerida y la transmisión de datos en dirección. Los pares "Nombre \u003d valor" se unen en este caso a la dirección después del signo de interrogación y están separados por el Ampersand (Symbol &). La facilidad de uso del método Obtener es que la dirección con todos los parámetros se puede usar repetidamente al guardarlo, por ejemplo, en los marcadores del navegador, así como cambiar los valores de los parámetros directamente en la barra de direcciones. El método POST POST envía datos al servidor en la solicitud del navegador. Esto le permite enviar una mayor cantidad de datos que el método Obtener disponible, ya que tiene un límite en 4 KB. Se utilizan grandes volúmenes de datos en foros, servicios postales, llenando la base de datos, al enviar archivos, etc.
Atributo obligatorio
Valor por defecto
HTML5 IE CR OP SA SA FX
Esta publicación está destinada a explicar los principios de la transferencia de datos en Internet con la ayuda de dos métodos principales: obtener y publicar. Lo escribí como un suplemento a las instrucciones para el generador de un calendario cambiante de trabajo para aquellos que apenas son interesantes para los detalles ☺.
Vaya a la siguiente dirección (esto es para una explicación visual): http://calendarin.net/calendar.php?year\u003d2016 Tenga en cuenta la barra de direcciones del navegador: calendarin.net/calendar.php año \u003d 2016 El archivo principal se llama, seguido de un signo de interrogación (?) Y el parámetro "Año" con el valor "2016". Entonces, todo lo que sigue un signo de interrogación, esta es una solicitud de pedido. Todo es simple. Para transmitir no un parámetro, sino unos pocos, entonces necesitan dividir el Ampersand (&). Ejemplo: calendarin.net/calendar.php. ? Año \u003d 2016 y mostrar \u003d TRABAJO-DÍAS Y DÍAS DE DÍAS
El archivo principal también se llama, seguido de un signo de interrogación (?), Luego, el parámetro "Año" con el valor "2016", luego Ampersand (&), luego, el parámetro "Mostrar" con los "días-días, y -Days "parámetro -off.
Los parámetros GET pueden cambiar directamente en la barra de direcciones del navegador. Por ejemplo, cambiando el valor "2016" a "2017" y presionando la tecla, irá al calendario para 2017.
Esta transmisión de datos de manera oculta (la dirección de la página no cambia); Es decir, para ver qué se transmitió, solo puede usar el programa (script). Por ejemplo, en la siguiente herramienta para calcular los caracteres en el texto, los datos iniciales son transmitidos por el método POST: http://usefulonlinetools.com/free/chepounter.php
Si tiene preguntas, comentarios y mi correo electrónico está a su servicio.
Además del método Obtener, que revisamos en la nota anterior, hay otro método para enviar una consulta en el protocolo HTTP: el método de POST. El método posterior también se usa muy a menudo en la práctica.
Si, para referirse al método Obtener, es suficiente para nosotros escribir la solicitud a la URL, entonces todo funciona en el método posterior en otro principio.
Para ejecutar este tipo de solicitud, debemos hacer clic en el botón con el tipo \u003d "enviar atributo", que se encuentra en la página web. Tenga en cuenta que este botón se encuentra en el elemento.
Considere este código HTML:
Si el usuario ingresa algún texto al campo de texto y hace clic en el botón "ENVIAR", la variable de texto se enviará al servidor con el contenido del contenido que ingresó el usuario.
Publicar y obtener solicitudes con palabras simples.
Esta variable será enviada por el método posterior.
Si escribes en el formulario:
Ese datos serán enviados por el método Obtener.
Si, en el caso de una solicitud de obtención, la cantidad de datos que podríamos transmitir se limita a la longitud de la longitud del navegador, en el caso de la solicitud posterior, no existe tal restricción, y podemos transmitir cantidades de información significativas.
Otra diferencia del método posterior a partir de obtener, el método posterior oculta todas las variables transmitidas y sus valores en su cuerpo (entidad-cuerpo). En el caso del método Obtener, se almacenaron en la cadena de consulta (Solicitud de URI).
Aquí hay un ejemplo de una solicitud hecha por el método posterior:
POST / HTTP / 1.0 \\ R \\ N
Host: www.site.ru \\ r \\ n
ReferER: http://www.site.ru/index.html\\r\\n.
Cookie: Ingresos \u003d 1 \\ r \\ n
Tipo de contenido: Aplicación / X-www-formulario-urlencoded \\ r \\ n
Duración del contenido: 35 \\ r \\ n
\\ r \\ n
LOGIN \u003d DIMA & CONTRASEÑA \u003d 12345
Por lo tanto, pasar datos por el método posterior, serán mucho más difíciles de interceptar al atacante, porque Están ocultos a partir de la visualización directa, por lo que el método de transmisión de datos por el método posterior se considera más seguro.
Además, el método posterior se puede transmitir no solo texto, sino también datos multimedia (imágenes, audio, video). Hay un parámetro especial de tipo de contenido que define el tipo de información que se debe transmitir.
Y, finalmente, para obtener los datos que se transmitieron por este método, se utiliza la variable POST.
Aquí hay un ejemplo de procesamiento en PHP:
echo $ _post ['texto'];
?>
En la última nota, decidimos que el navegador (cliente) envía solicitudes al servidor HTTP, y el servidor envía una respuesta HTTP al cliente HTTP. Estas solicitudes y respuestas se emiten de acuerdo con ciertas reglas. Hay algo así como la sintaxis, como en la que se debe escribir la secuencia. Debe haber una estructura estrictamente definida.
Consideremos esta estructura con más detalle, que construye solicitudes y respuestas en el protocolo HTTP.
La solicitud HTTP consta de tres partes principales que se encuentran en el orden que se enumeran a continuación. Hay una línea vacía entre los encabezados y el cuerpo del mensaje (como separador), es un símbolo de traducción de cadena.
Cadena vacía (separador)
Publique y obtenga solicitudes, ¿cuál es la diferencia entre ellos y qué es mejor y para qué propósitos?
cuerpo de mensaje (cuerpo de entidad) - Parámetro opcional
Solicitud de fila - Indica el método de transferencia, la dirección URL a la que se necesita acceder a la versión del protocolo HTTP.
Titulares - Describa el cuerpo del mensaje, transmite diferentes parámetros y otra información e información.
cuerpo del mensaje - Estos son los datos que se transmiten en la solicitud. El cuerpo del mensaje es un parámetro opcional y no puede faltar.
Cuando obtenemos una respuesta del servidor, el cuerpo del mensaje es la mayoría de los contenidos de una página web. Pero, cuando las consultas al servidor, a veces también pueden estar presentes, por ejemplo, cuando transmitimos los datos que se completaron en el formulario de retroalimentación al servidor.
En más detalle, cada elemento de consulta, veremos las siguientes notas.
Vamos, por ejemplo, considere una solicitud real al servidor. Destacé cada parte de la consulta por mi color: una línea de consulta: verde, titulares - naranja, el mensaje del cuerpo es azul.
Solicitud del navegador:
Host: WEGGYRY.INFO.
Cookie: WP-Configuración
Conexión: mantener vivo
El siguiente ejemplo ya tiene un cuerpo de mensajes.
Respuesta del servidor:
Tipo de contenido: Texto / HTML; Charset \u003d UTF-8
Codificación de transferencia: chunked
Conexión: mantener vivo
MANTENIMIENTO AL VIVO: Tiempo de espera \u003d 5
X-Pingback: //webgyry.info/xmlrpc.php
Aquí están los mensajes del cliente y el servidor HTTP.
Por cierto, ¿desea saber si tiene sentido en algún artículo en su sitio utilizando los "objetivos" de Yandex METRICS y Google Analytics?
Elimine lo que no funciona, agregue qué funciona y doble sus ingresos.
Curso sobre cómo establecer los objetivos de Yandex METRICS ..
Curso de configuración de objetivos de Google Analytics ..
El cliente HTTP envía una solicitud al servidor en forma de una solicitud de solicitud, que tiene el siguiente formato:
- Fila de consulta (elemento obligatorio)
- Título (Elemento opcional)
- Cadena vacía (elemento obligatorio)
- Cuerpo de mensaje (elemento opcional)
Considere cada uno de estos elementos por separado.
Solicitud de fila
La cadena de consulta comienza con un token de método, después de lo cual la consulta URI y la versión del protocolo siguen. Los elementos están dispersos del uno de los demás espacios:
Considera este artículo con más detalle.
Método de solicitud
Este elemento indica un método que debe llamarse en el lado del servidor a la inferción de URI especificada.
Hay ocho métodos en http:
- Cabeza.
Se utiliza para obtener la cadena de estado y el encabezado del servidor URI. No cambia los datos. - Obtener.
Se utiliza para recibir datos del servidor al URI especificado. No cambia los datos. - CORREO.
Se utiliza para enviar datos al servidor (por ejemplo, información sobre el desarrollador, etc.) utilizando los formularios HTML. - Poner.
Reemplaza todos los datos anteriores sobre los nuevos datos descargados. - Borrar.
Elimina todos los datos actuales en un recurso definido por URI. - Conectar.
Establece la conexión del túnel al servidor de acuerdo con la URI especificada. - Opciones.
Describe las propiedades de conexión para el recurso especificado. - Rastro.
Proporciona un mensaje que contiene la traza de retorno del recurso especificado en la URI.
Solicitud de URI
URI (identificador de recursos uniforme) es un identificador de recursos al que se envía la consulta. A continuación se muestra el formato URI más común:
‘*’ Se utiliza cuando una solicitud HTTP no se aplica a un recurso específico, sino al servidor. Utilizado solo en el caso cuando el método no es necesario para aplicarse al recurso. Por ejemplo,
absoluteuri. Se utiliza cuando se realiza una solicitud HTTP en un proxy. Se solicita a Proxy que transmita una consulta desde un caché asequible y devuelva la respuesta. Por ejemplo:
Asbutivated_put | una fuentese utiliza el más chatso.
Aprendiendo a trabajar con las solicitudes de obtener y publicar.
Se solicita un recurso específico de un servidor específico. Por ejemplo, el cliente desea obtener un recurso del servidor a través del puerto 80. La dirección de recursos "www.proselyte.net" y envía la siguiente solicitud:
Pedir campos de encabezado
Los campos de encabezado permiten al cliente transferir información adicional sobre la solicitud y sobre ellos mismos al propio servidor. Estos campos actúan como modificadores de consulta.
A continuación se muestra la intersección de los campos de encabezado más importantes que se pueden utilizar:
- Aceptar-Charts.
- Aceptar-codificación
- Aceptar-idioma.
- Autorización
- Suponer
- If-match
- Si-modificado, ya que
- Si-ninguno-partido
- Si-rango.
- If-no modificado-desde
- Distancia.
- Referendo.
- Agente de usuario
Si decidimos implementar su propio cliente y su propio servidor web, podemos crear sus propios campos de encabezado.
Un ejemplo de la solicitud HTTP
En esto terminamos aprendiendo solicitudes HTTP.
En el siguiente artículo, veremos las respuestas HTTP.
Una forma de enviar una solicitud a través de HTTP al servidor es solicitar el método GET. Este método es el más común y las solicitudes al servidor a menudo ocurren con su uso.
La forma más fácil de crear una consulta Obtener se puede usar para escribir la URL en la barra de direcciones del navegador.
El navegador enviará al servidor por aproximadamente la siguiente información:
Obtener / http / 1.1
Host: WEGGYRY.INFO.
Agente de usuario: Mozilla / 5.0 (Windows NT 6.1; RV: 18.0) Gecko / 20100101 Firefox / 18.0
Aceptar: Texto / HTML, Aplicación / XHTML + XML, APLICACIÓN / XML; Q \u003d 0.9, * / *; Q \u003d 0.8
Idioma: RU-EN, RU; Q \u003d 0.8, EN-US; Q \u003d 0.5, EN; Q \u003d 0.3
Aceptar: codificación: gzip, desinfla
Cookie: WP-Configuración
Conexión: mantener vivo
La solicitud consta de dos partes:
1. Solicitud de línea (línea de solicitud)
2. Encabezados (encabezados de mensajes)
Tenga en cuenta que la consulta Obtener no tiene un cuerpo de mensajes. Pero, esto no significa que con él, no podemos transferir ninguna información al servidor.
Diferencia entre los métodos de obtener y publicar.
Esto se puede hacer con la ayuda de los parámetros de obtención especiales.
Para agregar los parámetros para solicitar, debe colocar un signo "?" Al final de la dirección URL Y después de comenzar a configurarlos en la siguiente regla:
parameter_name1 \u003d Valor Parameters1 & Parameter Name2 \u003d Value Parameters2 & ...
El separador entre los parámetros es el signo "&".
Por ejemplo, si queremos pasar dos valores, el nombre de usuario y su edad, esto se puede hacer la siguiente línea:
http://site.ru/page.php?name\u003ddima&age\u003d27
Cuando se ejecuta esta consulta, los datos se dividen en la llamada variable de entorno de Query_String desde la cual se pueden obtener en el servidor utilizando el servidor de programación web.
Aquí hay un ejemplo, como se puede hacer en PHP.
Echo "Tu nombre:". $ _Get ["nombre"]. "
»;
Echo "Tu edad:". $ _Get ["Edad"]. "
»;
?>
El diseño de $ _get ["nombre de parámetro"] le permite mostrar el valor del parámetro transmitido.
Como resultado de la ejecución de este código en el navegador se mostrará:
Tu nombre: DIMA
Tu edad: 27
también realizamos una solicitud al servidor OBT.
Puede notar que las direcciones se pueden contemplar en la mayoría de los sitios:
Http: //syt/index.php? Blog \u003d 2
Aquí, ni siquiera sabiendo PHP, puedes adivinar que apelamos al archivo. index.php. Pero lo que va tras la cuestión de la pregunta, pocas personas lo saben. Todo es bastante simple: Blog \u003d 2 Este es un anuncio de la variable global "$ _get [" blog "]" con el valor "2". Por lo tanto, transmito una variable al script que es responsable de la salida de la base de datos. Vamos a escribir un pequeño script en el que solo verá claramente:
si (ISSET ($ _ obtenga ["blog"]) (
echo $ _get ["blog"];
}
?>
Utilizamos el operador de condición de IF () como condición que vale la pena esta línea:
Isset ($ _ obtenga ["blog"])
iSSET () le permite averiguar si hay una variable que se enumera entre paréntesis, es decir, la condición que describí en el código suena así: si hay una variable $ _get ["blog"], salga del contenido. De esta variable en la pantalla. Eso fue lo que paso:
Creo que la variable global está claramente creada. $ _Get. con el identificador que hemos anunciado en la barra de direcciones ( en este caso, con el identificador "Blog".)
Ahora quiero aclarar un momento. Supongamos que necesitamos declarar dos variables, ¿cómo hacerlo? La primera variable se declara después de la cuestión de la pregunta "?" La segunda variable se declara después de tal señal "&" ( Para ser honesto, no sé qué tipo de signo. ), aquí hay un ejemplo de anuncio de tres variables:
Http: //syt/index.php? A \u003d 1 & b \u003d 2 & c \u003d 3
Aquí está el código de salida:
if (ISSET ($ _ obtenga ["A"]) y ISSET ($ _ obtenga ["B"] y ISSET ($ _ obtenga ["C"]) (
Echo $ _get ["A"] ".
";
Echo $ _get ["B"] ".
";
Echo $ _get ["c"] ".
";
}
?>
La condición suena así:
Si hay una variable global $ _get ["A"] y la variable global $ _get ["B"] y la variable global $ _get ["c"], envíalos en la pantalla, Aquí está el resultado:
Formas
Antes de ir a cORREO. Solicitudes, ¿necesita desmontar qué forma son? ¿Por qué lo necesitas? Debido a que la variable global $ _post ["] se crea a través de formularios. ¿Qué es un formulario? Estos son campos para ingresar cualquier información del usuario. Los campos están en una línea, campos grandes, hay botones de radio, casillas de verificación. Analizaremos todo en orden ...
La forma es una etiqueta:
Elementos de forma
El formulario tiene atributos, enumere los más comunes:
Vamos a crear un formulario:
Elementos de forma
Establece el archivo como un archivo de controlador test.php. Ya que está en él que estoy escribiendo ejemplos para usted. Puse el método posterior, ya que son estos métodos que se utilizan en el 99.9% de los casos. También asigné nuestro nombre de formulario - formulario
Ahora se sumerge en el mundo de los elementos de la forma. En primer lugar, debe entender que casi todos los elementos son etiquetas. Diferencia solo en el atributo tipo Estas etiquetas Déjame enumerar los formularios que usaste:
Estoy seguro de que no ha cumplido con tales campos, así que aquí, como dice: "No hay comentarios"
Ahora hagamos un pequeño cuestionario de entrenamiento con el que trabajaremos más. Nuestra tarea es hacer una pequeña forma que nos indique el nombre del relleno, el piso, de qué país es, color favorito y campo de texto donde el usuario puede agregar algo sobre sí mismo. Eso fue lo que hice:
Su apellido Nombre Patronímico:
Tu género:
METRO.
J.
De qué país eres
Color favorito (a):
El negro:
Rojo:
Blanco:
Otro:
Sobre mí:
Tenga en cuenta que casi todas las etiquetas tienen un atributo valor.¿Que es el? Registra los datos que va a transferir a otra página. Espero que sea claro
Ahora, si ejecuta este código en el navegador, veremos lo siguiente:
Formulario utilicé un atributo acción. con significado test.php. Esto significa cómo ya he dicho que los datos del formulario se envían al archivo test.php.
Petición posterior
Ahora escribe código php Lo que nos permitirá ver la información que ingresó. ¿Dónde se almacenan los datos? En el caso de la solicitud de obtención, nuestros datos se encuentran en la variable global de $ _get]. Con una solicitud de publicación, los datos se levantarán en la variable global $ _post ["]. En los corchetes cuadrados, es necesario prescribir, como en el caso de obtener la variable global, un identificador. La pregunta es donde toma este identificador? ¡Por eso se necesita el atributo de nombre en los elementos del formulario! Es estos nombres los que nos sirven con la clave en la matriz global de POST. Bueno, vamos a iniciar el script descripción:
if (ISSET ($ _ Publicar ["enviar"]) (
Echo "Nombre completo:" $ _ Publicar ["Fio"] ".
";
Echo "Género:" $ _ Publicar ["Sexo"] ".
";
Echo "País de residencia:" $ _ Publicar ["Ciudad"] ".
";
Echo "Color favorito (A):
";
Echo $ _post ["Color_1"] ".
";
Echo $ _post ["Color_2"] ".
";
Echo $ _post ["Color_3"] ".
";
Echo $ _post ["Color_4"] ".
";
Echo "Acerca de mí:" $ _ Publicar ["Acerca de"] ".
";
}
?>
Si se escribe la condición de IF escrita: si hay una variable global $ _post ["Enviar"], luego muestre los datos en la pantalla. Esta variable global se crea si hacemos clic en el botón Enviar, para el cual este ejemplo requiere el atributo Nombre en el botón. ¿Puedes preguntarse por qué no se requiere el nombre del atributo del botón? Todo es bastante simple. Por lo general, el programador no realiza un seguimiento de la prensa del botón y rastrea los datos enviados. Para la operación correcta, por ejemplo, el formulario de contacto, debe rastrear sin presionar el botón, sino la exactitud de la entrada de información y aprender si esta información se introdujo en absoluto. En nuestro ejemplo, no revisamos los datos enviados, y simplemente viajamos para presionar el botón, para simplificar el ejemplo ... eso es lo que hicimos:
Conclusión
Bueno, para hoy, hemos desmontado dos métodos de transferencia de datos entre los scripts, y Gallopam familiarizan con los formularios. Realmente espero que esta información tenga al menos en algún lugar útil. Si tiene alguna pregunta, o pensamientos, escriba comentarios. Buena suerte para ti, hoy lo tengo todo!
P.s.: ¿Te gustaría juegos de computadora ¿Se han vuelto aún más realistas? DirectX 11 para Windows 7 ¡Puede descargar gratis en Windows en! ¡Disfruta de maravillosos gráficos!