FORMULARIO DE PESCADO INURL INURL PHP. Libro de visitas en PHP
En esta lección, crearemos un libro de visitas en PHP con AJAX. Las entradas se almacenarán en la base de datos. La tabla contendrá la siguiente información: el nombre del remitente, la dirección de correo electrónico, la dirección IP y la fecha de fecha de la última entrada. Se utilizará jquery (para la implementación de AJAX). También se implementará una fácil protección de spam: puede publicar no más de un registro cada 10 minutos.
Paso 1. SQL
Para trabajar nuestra aplicación, necesita crear una tabla:
Crea la tabla si no existe `S178_GuestoBook` (int (10) no firmado no nulo auto_inscrement,` nombre` varchar (255) predeterminado "", `correo electrónico 'varchar (255) predeterminado", `descripción` varchar (255), predeterminado" ", `Cuando 'int (11) no es nulo predeterminado" 0 ",` IP` VARCHAR (20) Predeterminado NULL, tecla primaria (' id`)) Motor \u003d MYISAM Predeterminado Charset \u003d UTF8;
Paso 2. PHP.
El archivo principal contendrá el siguiente código:
guestbook.php.
\u003d ") \u003d\u003d 1) ERROR_RETORETING (E_ALL & ~ E_NOTICE & ~ E_ E_DEPRECADO); Mano Error_Reporting (E_all & ~ e_notice); Requerir_once (" Clases / CMYSQL.PHP "); // Incluye la clase de servicio para trabajar con la base de datos // obtener Función de visitante IP getVisitorip () ($ ip \u003d "0.0.0.0"; if (((isset ($ _ servidor ["http_x_forwarded_for"])) && (! Vacío ($ _ servidor ["http_x_forwarded_for"])) ($ ip \u003d $ _Server ["http_x_forwarded_for"];) Elseif ((ISSET ($ _ Server ["http_client_ip"])) && (! Vacío ($ _ servidor ["http_client_ip"])) ($ ip \u003d explote ("". , $ _ Servidor ["http_client_ip"]); $ ip \u003d $ ip. "." $ Ip. "." $ Ip. "." $ Ip;) Elseif (! ISET ($ _ servidor ["http_x_forward_for"] )) | (Vacío ($ _ servidor ["http_x_forwarded_for"])) (si ((! ISSET ($ _ Server ["http_client_ip"])) && (vacío ($ _ servidor ["http_client_ip"])))))) ($ IP \u003d $ _SERVER ["remoto_ADDR"];) Devuelva $ IP;) // Obtenga las últimas entradas en la función Libro de invitados GetLastreCords ($ ILIMIT \u003d 3) ($ srecords \u003d ""; $ arecords \u003d $ globales [ "Mysql"] -\u003e getall ("select * from` s178_guestbook` pedido por id` Desc l IMIT ($ ILIMIT) "); Foreach ($ arecords como $ i \u003d\u003e $ ainfo) ($ swhen \u003d fecha ("f j, y h: i", $ ainfo ["cuando"]); $ secords. \u003d<< ($ Ainfo ["Descripción"])