Contactos

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"])

Eof; ) Devuelve $ SRECORDS; ) si ($ _post) (// aceptamos nuevos registros $ sip \u003d getvisitorip (); $ sname \u003d $ globales ["mysql"] -\u003e escape (strip_tags ($ _ public ["nombre"]); $ SEMAIL \u003d $ Globales ["mysql"] -\u003e escape (strip_tags ($ _ publica ["nombre"]); $ sdesc \u003d $ globales ["mysql"] -\u003e escape (strip_tags ($ _ post ["texto"])) ; Si ($ Sname && $ Semail && SDESC && $ SIP) (// PROTECCIÓN DE SPAM $ OLDID \u003d $ GLOVALS ["MYSQL"] -\u003e Getone ("SELECT` ID` de` S178_GuestoBook` Where` IP` \u003d "($ SIP) "Y ', cuando'\u003e \u003d UNIX_TIMESTAMP () - 600 Límite 1"); Si (! $ Oldid) (// Puedes agregar un comentario de $ globales ["mysql"] -\u003e res ("insertar en` s178_guestbook `Set` Name` \u003d" ($ Sname) ",` Correo electrónico '\u003d "($ SEMAIL)", `DESCRIPCIÓN` \u003d" ($ SDESC) ",` CUANDO` \u003d UNIX_TIMESTAMP (), `IP` \u003d" ($ SIP) ""); // Mostrar los últimos 10 registros $ SOUT \u003d GetLastreCords (); echo $ SOUT; salida;)) echo 1; salida;)) // Mostrar los últimos 10 registros $ srecords \u003d getlastreCords (); Ob_start (); ?\u003e.

Libro de visitas

Añade tu opinión aquí

Libro de visitas en PHP



Cuando abres la página, verá un cuaderno. Los últimos tres registros se muestran en el lado izquierdo, y la derecha es el formulario para publicar una nueva revisión. Cuando se envía el formulario, el script envía los datos de publicación (la misma página PHP), luego guarda los datos obtenidos en la base de datos y devuelve tres últimos registros. Usando el efecto de la manifestación, los registros se muestran en el lado izquierdo del libro.

También utiliza el archivo PHP

clases / CMYSQL.PHP.

Este archivo contiene código de clase para trabajar con la base de datos. Requiere que configure tres variables para conectarse al servidor.

$ esto-\u003e sdbname \u003d "database_name"; $ esto-\u003e sdbuser \u003d "nombre de usuario"; $ esto-\u003e sdbpass \u003d "contraseña";

Paso 3. CSS.

Y ahora formaré la apariencia del libro de visitas:

cSS / Main.css.

* (Margen: 0; Acolchado: 0;) Cuerpo (Color: #fff; Color: #fff; font: 14px / 1.3 arial, sans-serif;) footer (fondo-color: # 212121; abajo: 0; caja- Sombra: 0 -1px 2px # 111111; Pantalla: Bloque; Altura: 70px; Izquierda: 0; Posición: Fija; Ancho: 100%; Índice Z: 100;) Footer H2 (Tamaño de fuente: 22px; FONT-PESO: Normal; Izquierda: 50%; margen-izquierda: -400px; relleno: 22px 0; Posición: Absoluta; Ancho: 540px;) Footer A.Stuts, A.Stuts: Visitado (Frontera: Ninguno; Decoración de texto: Ninguno; Color : #Fcfcfc; Tamaño de fuente: 14px; Izquierda: 50%; Altura de la línea: 31px; margen: 23px 0 0 110px; Posición: Absolute; Top: 0;) Footer .stuts span (Tamaño de fuente: 22px; font- Peso: negrita; margen-izquierda: 5px;) .container (fondo: url transparente (../ images / book_open.jpg) no-repetir el centro superior; color: # 000000; altura: 600px; margen: 20px auto; desbordamiento: Escondido; relleno: 35px 100px; Posición: relativa; Ancho: 600px;) # col1, # col2 (flotador: izquierda; margen: 0 10px; desbordamiento: oculto; texto-alineado: centro de ancho: 280px;) # col1 (-Webkit-Transform: Gire (3DEG); -Moz-Transform: Gire (3DEG); -Ms-Transform: Gire (3deg); -O-TRANSFENSA: GUTATE (3DEG); ) Forma de #Rechecords (margen: 10px 0; relleno: 10px; texto-alineado: a la izquierda;) #Records Tabla TD.LABEL (Color: # 000; Tamaño de fuente: 13px; Padding-Derecha: 3px; Texto-alineado: a la derecha ;) Etiqueta de la tabla #Records (Tamaño de fuente: 12px; Alineado vertical: medio;) #Records Tabla TD.field Entrada, #Records Tabla TD.Field Textarea (Fondo-Color: RGBA (255, 255, 255, 0.4) ; Frontera: 0px sólido # 96A6C5; FUTT-FACE: Verdana, Arial, Sans-Serif; Tamaño de fuente: 13px; Margin-Top: 2px; Padding: 6px; Ancho: 190px;) #Records Tabla TD.field Entrada (fondo -Color: RGBA (200, 200, 200, 0.4); CURSOR: Puntero; Flotador: Derecho; Ancho: 100px;) #Records Tabla TD.field Entrada: Hover (Fondo-Color: RGBA (200, 200, 200, 200, 0.8 );) #RECORDS_LIST (Texto-alineado: Izquierda;) #Records_List .Record (Frontera arriba: 1px sólido # 000000; Tamaño de fuente: 13px; relleno: 10px;) #records_list .RECORD: PRIMER NIÑO (FRONTER-TOP - Ancho: 0px;) #Records_List .Record P: Primer hijo (Fuente-peso: negrita; Tamaño de fuente: 11px;)

Entre nuestros refs, a menudo conozco dificultades similares, la mayoría de ellas tienen los spamis, que compran o encuentran en algún lugar de Internet, pero no tienen nada para spam, ya no tienen una base competitiva mejor. En este artículo intentaré establecer los métodos de separación, es decir. Intentaré enseñar a los recién llegados a recoger lo más posible.

El análisis es el proceso de recopilación de recursos (sitios). Recoger exactamente sitios y sus direcciones. Recogemos estos recursos para el próximo spam. Puede pasar cualquier cosa: libros de visitas, foros, blogs, wiki, lo principal que puede dejar su mensaje con referencia a su dor.
La solicitud es lo que entramos en el motor de búsqueda.
Emisión son aquellos sitios que le dan un motor de búsqueda a nuestra solicitud.

A continuación, quiero tener en cuenta que lo más importante en el análisis es la capacidad de usar correctamente el motor de búsqueda. Por lo tanto, necesita conocer la sintaxis de las solicitudes. Me detendré en Google. Tiene la base de datos más grande, en relación con otros motores de búsqueda.
La sintaxis de las solicitudes de Google.
1) inurl: "xxx": el motor de búsqueda emitirá todos los sitios en la dirección de los cuales encontrará XXX, en lugar de XXX, podemos insertar cualquier otra palabra, como el libro de visitas, el foro, etc.
2) Intitle: "XXX": el motor de búsqueda le dará a todos los sitios en el encabezado de los cuales encontrará xxx. De nuevo, en lugar de xxx, puede haber cualquier palabra.
3) Sitio: .xxx.com: el motor de búsqueda emitirá todas las páginas del dominio XXX.com, en lugar de xxx.com puede ser cualquier dominio de cualquier nivel. Puede ser jopa.mail.ru o, por ejemplo, simplemente. R.M., si acabamos de dejar .RU, el motor de búsqueda nos dará todos los sitios de la zona de dominio.ru. En lugar.ru Can Be.com, .org, .NET, etc.
4) Intext: "XXX": el motor de búsqueda nos dará todos los sitios en el texto que se encontró la palabra XXX. En lugar de xxx - cualquier palabra.
5) "XXX": el motor de búsqueda nos dará sitios en los que se encontró la palabra XXX (encontrada en todas partes en la URLA o en el texto o en el encabezado, sin importar).
6) - "XXX": el motor de búsqueda nos dará todos los sitios que excluyen a aquellos en los que se encontró la palabra XXX. Inurl también puede permanecer después de menos: "xxx" intitle: "xxx" sitio: .xxx.com intext: "xxx", etc.

*** Puedes escribir lo mismo sin cotizaciones, pero recomiendo siempre que siempre lo ponga, porque Las citas muestran a Google la severidad de la solicitud, y por lo tanto, no entregará toda la basura, que en su opinión también es adecuada para su solicitud.

Es muy importante no solo conocer la sintaxis de las solicitudes, sino también poder combinarlas correctamente. Esto es ahora vamos a tratar. De hecho, todo es muy muy simple.

Introducción
Hay una gran cantidad de libros de invitados en el mundo, pero todos ellos hablan más o menos se dividen en dos tipos principales del mismo tipo y no uniforme. Los sitios de invitados son huéspedes que tienen los mismos finales y los mismos campos obligatorios para el llenado.
Aquí hay ejemplos de algunos del mismo tipo de invitado.
http://www.saveus.org/guestbook/sign.asp?pagesItion\u003d1
http://www.caltrap.org/guestbook/sign.asp?pagesItion\u003d1
http://mail.bebat.be/guestbookf/sign.asp?pagesItion\u003d1
o
http://www.becquet.com/adduest.html.
http://www.vetgen.com/guest/addguest.html
http://www.newcreations.net/webmaster/guestbook/addguest.html.
Que estos invitados son convenientes:
1) fácil de ir
2) son más fáciles analizados (si no hay 10 invitados del huésped de este tipo, entonces es más probable que todos los demás no se descuidan)

Tan novicio, recomendaría comenzar con la colección del mismo tipo de invitado.
Tipos de invitados Hay un conjunto de cohogómicos enorme, respectivamente, varios huéspedes de un solo tipo.

Cuidado de pie. Para empezar, debemos decidir qué tipo de invitado queremos recolectar y qué me refiero a muchas manos, no recopilar sonreír). Cuando comencé, usé el programa AllsubmitRe. Tiene un analizador incorporado. El programa como todos los demás pagados, pero sin una prueba del término. Y si no te sumerge en este programa, solo realiza las funciones del analizador, je, y somos exactamente lo que necesita. Si lo saltamos y no lo activamos, solo el analizador funcionará, el analizador recolecta todas las ULLAS de la página, excluyendo los enlaces internos de Google, el analizador se detiene en duplicados de dominios y duplicados de enlaces.
Allsubmittista TOMA AQUÍ
Para un nuevo tipo de invitado, creamos una nueva base de datos.

Le pedimos el nombre.

Ahora continúe, mostraré en un ejemplo específico sobre cómo recopilar la base de datos utilizando un alesubmitter. Vamos a recoger, bueno, digamos el tipo de invitado - gbook.php? A \u003d Signo. Estos invitados tienen los mismos finales al ingresar a Google Inurl: "gbook.php? A \u003d Signo" en Google, ~ 10.5k. Pero Google no da más de 1000 resultados de la solicitud, ¿qué hacer, cómo recoger más de 1k? Para hacer esto, debe limitar la solicitud muchas veces, es necesario emitir una solicitud a solicitud que no exceda de mil sitios, por lo que podemos recopilar todos los resultados. La analogía puede ser que con las chicas, no eliminarás toda la ropa de una vez en uno, primero, el otro, luego el sujetador, etc. Como resultado, ella todavía se desnuda, y la que eliminó toda la ropa, y no a la que ha tratado de eliminar todo de una vez en una sola vez, se quitó solo la gorra y pensó que ni siquiera eliminaría nada. de ella. Esto es lo que no termino en los invitados para recolectar a los huéspedes a pedido Inurl: "gbook.php? A \u003d Signo", pero comienza con él. Es recomendable hacer una solicitud aun así.
Inurl: "gbook.php? A \u003d Signo" - "Error": "Advertencia", por lo que eliminamos algunos de los malos sitios que no funcionan.
Después de haber creado una nueva base de datos, y Allsubmitere, ingrese a Google.com en el navegador e ingrese la consulta allí. (Es necesario que en Google se suministró, "para emitir 100 Ulones en la página", acelerará la colección de parser Allesubmitter), eso es lo que vemos

Luego hacemos clic en Aceptar, luego en el navegador del programa "Atrás" y el mismo hacemos lo mismo con las 2da páginas de emisión, luego con el tercero, etc.

Al hacer esto para hacer otra solicitud, por ejemplo \u003e\u003e
inurl: "gbook.php? A \u003d Signo" Sitio: .com, es decir. Recogeremos todos los gestos de la zona de dominio.com, nuevamente hacemos el mismo procedimiento de recolección (ver fotos)
Entonces otra solicitud
inurl: "gbook.php? A \u003d Signo" Sitio: .NET
inurl: "gbook.php? A \u003d Signo" Sitio: .. BIZ
inurl: "gbook.php? A \u003d Signo" Sitio: .org
En general, puedes alojar todo tipo de dominios.
Sitio: .com.
Sitio: .NET
Sitio: .. BIZ
Sitio: .org.
Sitio: .in.
Nombre del sitio.
Sitio: .ru
Sitio: .fr.
Sitio: .IT.
Sitio: .edu.
Sitio: .gov.
Sitio: .mil.
Sitio: .info.
Sitio: .au.
Sitio: .at.
Sitio: .BY.
Sitio: .be.
Sitio: .BG.
Sitio: .ca.
Sitio: .cn.
Sitio: .cz.
Sitio: .dk
Sitio: .eg.
Sitio: .de
Sitio: .gr.
Sitio: .hu.
Sitio: .ie.
Sitio: .il.
Sitio: .jp.
Sitio: .us.
Sitio: .uk.
Sitio: .ua.
Sitio: .ch.
Sitio: .SE.
Sitio: .es.
Sitio: .pl
Sitio: .nl
Sitio: .ro.
Sitio: .to.
Sitio: .mx

Alsubmittiter agregará solo dominios únicos a la base, por lo que no debe tener miedo de hacer ninguna solicitud, los duplicados no serán j

Entonces puedes hacer tales solicitudes.
Inurl: "Libro de visitas / gbook.php? A \u003d Signo"
Inurl: "gbook / gbook.php? A \u003d Signo"
Inurl: "gb / gbook.php? A \u003d Signo"
Inurl: "invitado / gbook.php? A \u003d Signo"
Y luego hacer tal chip
Inurl: "gbook.php? A \u003d Signo" - Inurl: "Libro de visitas / Gbook.php? A \u003d Signo" -inurl: "GBLOK / GBOWN.PHP? A \u003d Signo" -inurl: "gb / gbook.php? Un \u003d Signo "-inurl:" invitado / gbook.php? A \u003d Signo "
esos. Disparar lo que ya se ha puesto

Puede combinar las solicitudes más y más diferentes juntas, puede usar "-"
Para drenar lo que ya estás acostado, lo principal para hacer tantas solicitudes como sea posible.

¿Dónde buscar nuevos tipos de g mayor? Por lo general usé dos métodos:
1) En Internet, los libros de huéspedes preparados a menudo se planean, y como se planifican significa que son masivos, es decir. Para todos, es decir, muchos de ellos están instalados en diferentes sitios, etc. Simplemente collois estos gestos vierten en Frishnik y mira lo que terminan, y luego observas este final en Google, si una gran extradición también significa recolectarla, pequeña: significa que estos libros no son populares y los recolectan no hay ningún sentido particular. .
2) Puede buscar nuevos tipos de gestones en las tachuelas de los competidores, todo puede y decir que es feo feo, etc., pero mucho hacer mucho, aunque IMHO es mejor combinar la primera y la segunda forma.

De los analizadores automáticos normales, un analizador de mango (253880089 - su asya), es barato, pero recopila, de manera muy rápida y cualitativamente, filtros en duplicados y elimina la sesión PCP + distribuye la PR.

En principio, todos, todas las preguntas y deseos, escriben aquí, intentaré responder a todos.

© Vadiuha. Todos los derechos están protegidos.

PHP 5.2 y superior;
- mod_rewrite;
- MySQL 4.1 y base de datos superior.

Capacidades

Incrustado a cualquier sitio (para esto, solo necesita editar los archivos top.php y fondo.php);
- antifloide;
- Prohibición de la lista;
- Navegación de páginas<< < ...| 5 | 6 | 7 ... > >>;
- Soporte para BBCODE;
- Mostrar emoticonos;
- Notificación de nuevos mensajes agregados;
- la capacidad de agregar mensajes a moderación;
- el panel de administración;
- Fácil de instalar y tintura.

Instalación

Desembale el archivo y copie los contenidos del archivo en cualquier carpeta en su servidor web (por ejemplo, "Libro de visitas"). Abra el archivo CONFIG / CONFIG_DB.PHP en un editor de texto y especifique la configuración de la conexión (base de datos de host o IP, nombre de la base de datos, nombre de usuario y contraseña). Coloque la tabla de base de datos de consultas MySQL SQL SQL desde el archivo Guestbook.SQL. Por lo general, en la mayoría de los alojamientos, se realiza a través de una interfaz web a través de PHPMYAdmin. Vaya al panel de administración (http: // su_sight / folder_s_script / admin /) e ingrese la contraseña 1111. A continuación, especifique la configuración necesaria.

Versión comercial

A solicitud del cliente, puedo adaptar el script para condiciones específicas. Se pueden agregar varias características adicionales.

Nota

Script "PHP Guest Book", luego, simplemente el programa es completamente gratuito. Puede distribuir libremente, copiar, realizar sus cambios en el código fuente del programa, solo si se guarda el redactor del autor. Se prohíbe el uso del programa "PHP Guest Book" para fines comerciales. Usas este programa en tu propio miedo y riesgo. El autor no soporta ninguna responsabilidad por el desempeño del programa, así como para perder, daños a los datos o cualquier otra cosa relacionada con el uso y la operación de este programa.

Si te gusta mi guión y tienes un deseo de agradecerme por el rublo, entonces aquí están mis detalles:

Webmoney.
U237811811298.
R198597198920.
Z917380288657.

Yandex dinero
41001635943434

PayPal.

Si tiene alguna pregunta o hay sugerencias, escríbeme: Esta dirección de correo electrónico está siendo protegida de los bots de spam. Debe tener JavaScript habilitado para ver.



¿Te gustó el artículo? Compártelo