elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
13 Octubre 2008, 05:21  



+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderadores: Ertai, дٳŦ٭)
| | | |-+  Scripts Php/MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Imprimir
Autor Tema: Scripts Php/MySQL  (Leído 7450 veces)
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Scripts Php/MySQL
« en: 18 Abril 2004, 23:21 »

Buenas :).

Si, si se que se parece al post de Cobac, pero quería postear los que yo he hecho, porque me han servido mucho ;D. Espero que os sirvan :P.

IMPORTANTE: Estos scripts van sin la "seguridad que necesitan" (vamos, que unos 3 la necesitan, los otros no xD). Si quieren seguridad, ustedes se la ponen :).

Primero que nada, conexion.php que es el que nos ayudará a conectarnos en todo:

Código:
<?php
$conexion = mysql_connect("localhost","usuario","clave");
mysql_select_db ("basedatos", $conexion) OR die ("Base de datos inexistente, o temporalmente inactiva");
?>



TagBoard, Con MySQL y Smileys

Primero creamos la tabla en el PhpMyAdmin:

Código:
CREATE TABLE tagboard (
id int(10) auto_increment,
autor varchar(255) NOT NULL,
comentario varchar(255) NOT NULL,
fecha varchar(255) NOT NULL,
email varchar(255) NOT NULL,
PRIMARY KEY (id)
)

Ahora tagboard.php

Código:
<?php
include ("conexion.php");
if ($comentario && $comentarios == "") {
echo "Porfavor, introduce un comentario";
}
elseif ($comentario && $autor == "") {
echo "Porfavor, Introduce tu nick";
}
elseif ($comentario) {
$fecha = date("d/m/Y g:i:s a");
function smileys($var) {
$a = str_replace("[","",$var) ;
$var = str_replace("]","",$var) ;
$var = str_replace(":D","[grin.gif]",$var) ;
$var = str_replace(":)","[smiley.gif]",$var);
$var = str_replace(";)","[wink.gif]",$var);
$var = str_replace(":S","[huh.gif]",$var);
$var = str_replace(":(","[sad.gif]",$var);
$var = str_replace(":@","[angry.gif]",$var);
$var = str_replace(":P","[tongue.gif]",$var);
//uno de estos por cada smiley
$var = str_replace("[","<img src=\"smileys/",$var) ;
$var = str_replace("]","\">",$var) ;
return $var;
}
$comentarios = htmlentities ($comentarios);
$comentarios = smileys($comentarios);
mysql_query ("INSERT INTO tagboard (autor,email,comentario,fecha) VALUES ('$autor','$email','$comentarios','$fecha')",$conexion);
?>
<html>
<head>
<script language="Javascript">
function smileys () {
window.open ('smileys.php','smileys','width=100,height=100,resizable=no,toolbar=no,status=no');
}
</script>
</head>
<body>
<iframe src="comentarios.php"></iframe><br>
<form action="<?php echo $PHP_SELF ?>" method="post">
Introduce tu nick: <input type="text" name="autor"><br>
Introduce tu email: <input type="text" name="email"><br>
Introduce tu comentario: <textarea name="comentarios"></textarea><br><br>
<input type="submit" name="comentario" value="Enviar">
<br>
<a href="javascript:smileys()">Smileys</a>
</form>
</body>
</html>
<?
}
else {
?>
<html>
<head>
<script language="Javascript">
function smileys () {
window.open ('smileys.php','smileys','width=300,height=400,resizable=no,toolbar=no,status=no');
}
</script>
</head>
<body>
<iframe src="comentarios.php"></iframe><br>
<form action="<?php echo $PHP_SELF ?>" method="post">
Introduce tu nick: <input type="text" name="autor"><br>
Introduce tu email/web: <input type="text" name="webemail"><br>
Introduce tu comentario: <textarea name="comentarios"></textarea><br><br>
<input type="submit" name="comentario" value="Enviar">
<br>
<a href="javascript:smileys()">Smileys</a>
</form>
</body>
</html>
<?php
}
?>

Luego comentarios.php

Código:
<?php
include ("conexion.php");
$sql = "SELECT * FROM tagboard ORDER BY 'id' DESC";
$resp = mysql_query ($sql);
while ($row = mysql_fetch_array ($resp)) {
echo "<font face=Verdana size=2><a href=mailto:".$row ["email"].">".$row ["autor"]."</a><br>";
echo "".$row ["comentario"]."<br>Fecha: ".$row ["fecha"]."<br><hr></font>";
}
?>

Y ahora, vamos por los Smileys. Creamos la tabla smileys,

Código:
CREATE TABLE smileys (
id int(10) auto_increment,
nombre varchar(25) NOT NULL,
url varchar(255) NOT NULL,
texto varchar(10) NOT NULL,
PRIMARY KEY (id)
)

Ahora insertamos los smileys que tengamos en el PhpMyAdmin (vamos a insertar, dentro de la tabla smileys).

Lo hacemos de la siguiente manera:

id: Dejamos en blanco
nombre: ejemplo, Grin.
url: nombre del archivo, ejemplo, grin.gif.
texto: como hacer el smiley, ejemplo, :D

Ahora creamos smileys.php

Código:
<table>
<tr><td>Nombre</td><td>Imágen</td><td>Forma de hacerlo</td></tr>
<?php
include ("conexion.php");
$sql = "SELECT * FROM smileys";
$resp = mysql_query ($sql);
while ($row = mysql_fetch_array ($resp)) {
echo "<tr><td>".$row ["nombre"]."</td><td><img src=smileys/".$row ["url"]."></td><td>".$row ["texto"]."</td></tr>";
}
?>

Recuerden que deben poner los smileys en el directorio smileys.

Eso es todo con el Tagboard ;D. Cualquier error avisarme con línea y todo.
« Última modificación: 29 Julio 2006, 04:20 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Sistema de Afiliados
« Respuesta #1 en: 18 Abril 2004, 23:28 »

Ahora crearemos un sistema de afiliados, que contara visitas entrantes, salientes, etc, tal como el GoldLink (ahora RivenLink xDD).

Creamos la tabla en el PhpMySql:

Código:
CREATE TABLE afiliados (
id int(10) auto_increment,
nom varchar (255) NOT NULL,
web text NOT NULL,
lec int(10) NOT NULL,
descripcion varchar(255) NOT NULL,
entrantes int(10) NOT NULL,
PRIMARY KEY (id)
)


Ahora creamos el archivo que mostraría a los afiliados, afiliados.php.


Código:
<?php
include ("conexion.php");
$sql = "SELECT * FROM afiliados";
$resp = mysql_query ($sql);
while ($row = mysql_fetch_array ($resp)) {
echo "<a onMouseOver=\"window.status='Descripción: ".$row ["descripcion"]." | Visitas Entrates: ".$row ["entrantes"]." | Visitas Salientes: ".$row ["lec"]."';return true\" href=afiliado.php?id=".$row ["id"]." target=_blank>".$row ["nom"]."</a><br>";
}
echo "<br><br> <a href=\"afiliate.php\">Afiliate Aqui</a>";
?>

Ahora creamos el archivo al que iría al apretar sobre un afiliado, afiliado.php

Código:
<?php
include("conexion.php");
$sql = "SELECT * FROM afiliados WHERE id LIKE '$id'";
$resp = mysql_query($sql);
$suma = mysql_query("select * from afiliados where id like $id",$conexion);
$upd=mysql_fetch_array($suma);
$lec=$upd["lec"]+1;
$update=mysql_query("Update afiliados Set lec=$lec Where id=$id",$conexion);

while ($row = mysql_fetch_array($resp)) {
$url = $row["web"];
$nombre = $row["nom"];
$salidas = $row["lec"];
$descripcion = $row ["descripcion"];
$entradas = $row ["entrantes"];
}
?>
<html>
<head>
<meta http-equiv="refresh" content="1;URL=<?php echo "$url" ;?>">
</head>
<body>
Nombre: <?php echo $nombre ?>&nbsp;&nbsp;(<?php echo $url ?>)</font><br>
Descripcion: <?php echo $descripcion ?><br>
Visitas salientes: <?php echo $salidas ?>&nbsp;&nbsp;&nbsp;Visitas entrantes: <?php echo $entradas ?>.</font><br>
</body>
</html>

Ahora el archivo para agregar afiliados, afiliate.php

Código:
<?php
include ("conexion.php");
if ($nuevo) {
$id = $_POST ['web'];
$id2 = mysql_query ("SELECT id FROM afiliados WHERE web LIKE '$id'",$conexion);
mysql_query ("SELECT * FROM afiliados");
mysql_query ("INSERT INTO afiliados (nom,web,descripcion) VALUES ('$nom','$web','$descripcion')",$conexion);
echo "Has sido agregado a la base de datos con exito <img src=\"http://www.elextremo.cl/smiley.gif\">. Debes linkearnos a http://www.aquituweb.com/in.php?id=TUID. Puedes ver tu id en la sección de afiliados.";
}
else {
?>
<form action=afiliate.php action="post">
Ingresa el nombre de tu web: <input type=text name=nom><br>
Ingresa la url de tu web: <input type=text name=web><br>
Ingresa la descripcion de tu web: <input type=text name=descripcion><br>
<input type=submit name=nuevo value=Registrar>
</form>
<?
}
?>

Y por último, el archivo que contará las visitas provenientes del afiliado, in.php

Código:
<?php
include ("conexion.php");
$sql = "SELECT * FROM afiliados WHERE id LIKE '$id'";
$resp = mysql_query ($sql);
$en = mysql_query ("SELECT * FROM afiliados WHERE id LIKE '$id'",$conexion);
$upd = mysql_fetch_array ($en);
$entrantes = $upd ["entrantes"]+1;
$update = mysql_query ("UPDATE afiliados SET entrantes = $entrantes WHERE id LIKE '$id'",$conexion);
while ($row = mysql_fetch_array ($resp)) {
$entrantes = $row ["entrantes"];
}
echo "Hola, la web ".$row ["nom"]." nos ha mandado $entrantes visitas :)";
?>
<html>
<head>
<meta http-equiv="refresh" content="1;URL=index.htm">
</head>
</html>

Esto es todo con el Sistema de Afiliados :).
« Última modificación: 18 Abril 2004, 23:31 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Upload de archivos en Php
« Respuesta #2 en: 18 Abril 2004, 23:36 »

Este es un script muy simple, pero que servira mucho cuando quieras que tus usuarios suban sus fotos a tu web :P.

upload.php

Código:
<?php
if ($enviar) {
move_uploaded_file($archivo,"archivos/$archivo_name");
$url = "archivos/".$archivo_name;
chmod($url,0777);
echo "Archivo subido exitosamente";
}
else {
?>
<form method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="archivo"><br>
<input name="enviar" type="submit">
<?php
}
?>

Debemos crear la carpeta archivos y darle permisos 777. Eso es todo.
« Última modificación: 15 Agosto 2004, 00:23 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Buscador Interno en PHP/MySQL
« Respuesta #3 en: 26 Mayo 2004, 11:57 »

Aqui os mostraré como crear un buscador interno en php, el cual buscará cualquier cosa dentro del nombre de un artículo, manual, o cuanta cosa tengas en tu base de datos...

Primero creas el archivo conexion.php (el que contendrá la conexión a la base de datos:

Código:
<?php
$conexion = mysql_connect("localhost","user","password");
mysql_select_db ("base_de_datos", $conexion) OR die ("La base de datos esta inaccesible, o no existe");
?>



Luego creas buscador.php, el buscador:

Código:
<?php

//Inicio Configuración
$tabla = "reportes";
//Fin Configuración

if (isset ($buscar)) {
$palabra = htmlentities ($palabra);
$palabra = htmlspecialchars ($palabra);
include ("conexion.php");
$sql = "SELECT * FROM ".$tabla." WHERE nombre LIKE '%".$palabra."%'";
$resp = mysql_query ($sql);
if (mysql_fetch_array ($resp) <= 0) {
echo "<basefont face=\"Verdana\" size=\"2\">No se encontraron resultados con el termino ".$palabra.".";
}
else {
while ($row = mysql_fetch_array ($resp)) {
echo "Aqui los echos xDDDD";
}
}
}
else {
?>
<form action="<? $PHP_SELF ?>" method="post">
<basefont face="Verdana" size="2">Introduce el termino a buscar: <input type="text" name="palabra">
<br><br>
<input type="submit" name="buscar">
</form>
<?php
}
?>

Bueno esa es una pequeña idea, recuerda cambiar $tabla por el nombre de tu tabla y "nombre" (está entremedio de la consulta SQL) por el campo de la tabla.

Salu2!
« Última modificación: 19 Agosto 2004, 10:44 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Sistema de Newsletters
« Respuesta #4 en: 26 Mayo 2004, 12:06 »

Con este código podrán hacer un sistema para enviar newsletters, el cuál consiste en hacer que el user se registre/ desregistre (en ese caso se borra de la base de datos) y en otra página tu puedas mandar los newsletter a todos los usuarios de una vez:

Creamos el archivo de conexión a base de datos, conexion.php:

Código:
<?php
$conexion = mysql_connect("localhost","user","password");
mysql_select_db ("base_de_datos", $conexion) OR die ("La base de datos esta inaccesible, o no existe");
?>


Luego creas la base de datos, usuarios, para que los users se registren:

Código:
CREATE TABLE usuarios (
id int(10) NOT NULL auto_increment,
nombre varchar (255) NOT NULL,
mail varchar(255) NOT NULL,
PRIMARY KEY (id)
)

Ahora newsletter.php , el que puedes incluir en tu index a través de un inlcude:

Código:
<?php
if ($new == "del") {
include ("conexion.php");
$sql = mysql_query ("SELECT * FROM usuarios WHERE mail LIKE '$mail'",$conexion);
if (mysql_num_rows ($sql) != 0) {
mysql_query ("DELETE FROM usuarios WHERE email LIKE '$mail'",$conexion);
echo "Haz sido borrado con éxito, No recibiras mas mails con novedades.";
}
else {
echo "Ya haz borrado el mail, o no existe en la base de datos :).";
}
}
elseif ($new == "ins") {
include ("conexion.php");
$sql = mysql_query ("SELECT * FROM usuarios WHERE mail LIKE '$mail'",$conexion);
if (mysql_num_rows ($sql) == 0) {
mysql_query ("INSERT INTO usuarios (nombre,mail) VALUES ('$nombre','$mail')",$conexion);
echo "Registrado con éxito :).";
}
}
else {
?>
<form action="<?php $PHP_SELF ?>" method="post">
Suscribirse a Newsletter.<br><br>

Ingresa tu nombre (o nick): <input type="text" name="nombre"><br>
Ingresa tu Mail: <input type="text" name="mail"><br>
<select name="new">
<option value="ins">Suscribir</option>
<option value="del">DesSuscribir</option>
</select>
<input type="submit">
</form>
<?php
}
?>


Y por último, el archivo para enviar los newsletters, enviar.php:

Código:
<?php
if (isset ($enviar)) {
include ("conexion.php");
$resp = mysql_query ("SELECT * FROM usuarios",$conexion);
while ($row = mysql_fetch_array ($resp)) {
$nombre = $row ["nombre"];
$mail = $row ["mail"];
$mensaje = $_POST ["mensaje"];
$men = "Estimado ".$nombre.", \n ".$mensaje."";
mail ($mail,"Newsletter de Aqui el nombre de tu web!",$men,"FROM: newsletter@tuweb.com");
}
}
else {
?>
<form action="<?php $PHP_SELF ?>" method="post">
Introduce el mensaje:<br><br>
<textarea name="mensaje"></textarea>
<br><br>
<input type="submit" name="enviar" value="Enviar Newsletter">
</form>
<?php
}
?>


Según yo, no tiene errores, ya que lo uso yo, pero en cualquier caso, si los tiene, favor de avisarme...


Salu2!
« Última modificación: 04 Diciembre 2004, 06:39 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Contador de visitas con PHP y Archivos de texto
« Respuesta #5 en: 29 Mayo 2004, 08:40 »

Este script es muy fácil, solo cuenta de unas líneas... Aquí les daré dos opciones:
1- Que se cuente cada vez que entre un user a una página
2- Que se cuente una vez por día, asi obtendrías visitas reales (en mi opinión, mejor).


Si lo quieres de la primera forma, crea el archivo lec.txt y dejalo en blanco, y luego dale permisos 666 al archivo. Y despúes crea contador.php y pega este código:

Código:
<?php
$contador = "lec.txt";
$fp = fopen($contador, "r");
$t = fread($fp, filesize($contador));
fclose($fp);
$fp = fopen($contador, "w");
$t = $t + 1;
$gc = fwrite($fp, $t);
fclose($fp);
echo "Hemos recibido ";
include ("lec.txt");
echo " visitas.<br>";
?>

Como ven, se usa fopen, fread, fwrite y fclose: podrán obtener mas información de estas funciones en el manual que publiqué con neohex, en esta dirección : http://foro.elhacker.net/index.php?topic=25674.0 .

Y si optan por la opción 2, hagan lo mismo que en el caso 1, pero peguen este código en el archivo contador.php :

Código:
<?php
if ($_COOKIE ["visitas"]) {
echo "Hemos recibido ";
include ("lec.txt");
echo " visitas.<br>";
}
else {
$contador = "lec.txt";
$fp = fopen($contador, "r");
$t = fread($fp, filesize($contador));
fclose($fp);
$fp = fopen($contador, "w");
$t = $t + 1;
$gc = fwrite($fp, $t);
fclose($fp);
setcookie ("visitas","visitas",time()+86400);
}
?>

En el que se usan las mismas funciones, pero ahora lo que hace es que si no hay cookie dada, cuenta una visita mas y crea una cookie de duración de un día (86400 segundos). Y ahora, si el user vuelve a entrar, ve que hay cookie y solo muestra cuantos usuarios han entrado a la web ;D.

Salu2!
« Última modificación: 01 Junio 2004, 05:08 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Mostrar fecha con meses escritos
« Respuesta #6 en: 16 Junio 2004, 11:23 »

Bueno este es un script que no se diferencia mucho del script simple, pero es mas completo.

Por ejemplo, si escribiesemos esto:

Código:
<?php
$fecha = date ("d/m/Y");
echo "Hoy es " . $fecha;
?>

Escribiría esto en pantalla:

Citar
Hoy es 15/06/04

Pero, si escribiesemos esto:

Código:
<?php
$dia = date ("d");
$mes = date ("m");
$ano = date ("Y");
if ($mes == 1) {
$mes = "Enero";
}
if ($mes == 2) {
$mes = "Febrero";
}
if ($mes == 3) {
$mes = "Marzo";
}
if ($mes == 4) {
$mes = "Abril";
}
if ($mes == 5) {
$mes = "Mayo";
}
if ($mes == 6) {
$mes = "Junio";
}
if ($mes == 7) {
$mes = "Julio";
}
if ($mes == 8) {
$mes = "Agosto";
}
if ($mes == 9) {
$mes = "Septiembre";
}
if ($mes == 10) {
$mes = "Octubre";
}
if ($mes == 11) {
$mes = "Noviembre";
}
if ($mes == 12) {
$mes = "Diciembre";
}
echo "Hoy es ".$dia." de ".$mes." de ".$ano;
?>

Nos escribiría:

Código:
Hoy es 16 de Junio de 2004

Como pueden ver, el primero es muy simple y muestra algo muy simple, pero el segundo es algo complejo y muestra casi lo mismo... Pero como decía es algo mas completo.

No falta decir que si quieren agregar la hora, solo agreguen esto al texto:

Código:
<?php
$fecha = date ("g:i:s a d/m/Y");
?>

hay ustedes varían el contenido...

Salu2!
« Última modificación: 16 Junio 2004, 11:26 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Paginación de registros
« Respuesta #7 en: 14 Agosto 2004, 08:43 »

Bueno, en esta parte pondré como paginar registros, totalmente configurable. Se puede poner el número de registros por página, y todo eso.

Aqui va:

pagina.php
Código:
<?php
include ("conexion.php");

######Configuración#######
                         #
$paginas = 7;            #
$tabla = "aquitutabla";  #
                         #
##########################

$actual = (!isset ($pg))?1:$pg;
$sql = mysql_query ("SELECT * FROM ".$tabla."");
$total = mysql_num_rows ($sql);
if ($actual == 1) {
$desde = "0";
}
elseif ($actual != 1) {
$desde = $actual * $paginas - $paginas;
}
$tp = ($total / $paginas);
if (strstr($tp,'.')){
$tp = explode (".",$tp);
$tp = ($tp[0]+1);
}
$resp = mysql_query ("SELECT * FROM ".$tabla." ORDER BY id LIMIT ".$desde.",".$paginas."");
while ($row = mysql_fetch_array ($resp)) {
//Aqui parte la parte de modificación
echo "Registro: ".$row["campo"]."<br>";
//Aqui termina xD
}
$pag = ($tp == 1) ? página : páginas;
$reg = ($total == 1) ? registro : registros;
?>
<br>Encontrados <b><?=$total?></b> <?=$reg?> en <b><?=$tp?></b> <?=$pag?><br>
<?php
$anterior = true;
$siguiente = true;
if (($actual == 1) AND ($actual == $tp)) {
$anterior = false;
$siguiente = false;
}
elseif ($actual == $tp) {
$anterior = true;
$siguiente = false;
}
elseif ($actual == 1) {
$anterior = false;
$siguiente = true;
}
if ($anterior) {
echo "<a href=\"pagina.php?pg=".($actual-1)."\">&lt; Página anterior</a> | ";
}
else {
echo "|";
}
for ($i = 1; $i <= $tp;$i++) {
if ($i == $actual) {
echo " <b>".$i."</b> | ";
}
else {
echo "<a href=\"pagina.php?pg=".$i."\"> ".$i."</a> |";
}
}
if ($siguiente) {
echo " <a href=\"pagina.php?pg=".($actual+1)."\"> Página siguiente &gt;</a>";
}
?>

Solo debes cambiar el nombre de la tabla, el número de consultas por página, y las cosas que quieres mostrar (dentro del while).

Espero que sirva,

Salu2!

PD: Gracias a Azielito, con el arreglamos unos pequeños problemas que tenía :-*
« Última modificación: 19 Noviembre 2004, 09:28 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Usar imágen para mostar cosas de PHP
« Respuesta #8 en: 13 Septiembre 2004, 04:23 »

Bueno, ustedes conocerán las Librerías GD.

Son unas librerías (... xDD) para trabajar con imágenes. Por ejemplo, poner la IP del visitante en una imágen.

NOTA: No todos los host's aceptan GD... Pregunten con el administrador. Si no tienen GD, no pueden usar esto.

Les dejo un ejemplo que hice yo aqui, que muestra la fecha actual y la IP del visitante, con un fondo hecho en Photoshop ;D



Con ésta función que voy a poner, puedes elegir la fuente que quieras que tenga el texto que pondrás, la posición del texto, el ángulo (puedes ponerlo en distintos ángulos, p.e 90°) y el tamaño de fuente. Solo se pueden usar imágenes JPG y PNG. Bueno, no SOLO esas, pero son las mas usadas y las que mejor se ven. El Gif NO se puede usar a partir de la versión 1.6 del GD... Bueno, después de esta breve explicación, va el código:

Código:
<?php
header("Content-type: image/jpeg"); //El tipo de imágen
$im = "http://www.tuweb.com/imagen.jpg"; //Url COMPLETA de la imágen
$img = ImageCreateFromJpeg ($im);
$color = ImageColorAllocate ($img, 0, 0, 0);
/*
Color negro... El color está en formato RGB, puedes ver esto en el Paint, o el Photoshop.
El negro es el 0 0 0 y el blanco el 255 255 255
*/
$texto = "Hola, eres ".$REMOTE_ADDR;
ImageTTFText($img, 10, 0, 25, 95, $color, "/home/pagina/public_html/arial.ttf",$texto);
/*
Pequeña explicación de esta función:
Estructura: array imagettftext ( resource imagen, int tamanyo, int angulo, int x, int y, int color, string archivo_fuente, string texto)
-> Sacado de php.net <-
La fuente debe estar en tu servidor, no es necesario que le usuario la tenga. Además, la fuente debe estar en su RUTA COMPLETA, como la que se indica arriba.
Debes cambiar la posición del texto y todo eso. Recuerda que puedes ver en que posición poner el texto con Paint, abajo sale el lugar en el que está el mouse. Te saldrá, p.e., 12,42: Ponlos en ese orden.
*/
ImageJpeg ($img); //Se muestra la imágen
ImageDestroy ($img); //Se libera la memoria y FIN :D
?>

Debo agregar que si la imágen es PNG, deben cambiar las siguientes funciónes:

Código:
header("Content-type: image/jpeg"); -> header("Content-type: image/png");

Código:
ImageCreateFromJpeg -> ImageCreateFromPng

Código:
ImageJpeg -> ImagePng

Creo que eso es todo... Para mayor información, ver la documentación de PHP.

Salu2!
« Última modificación: 25 Diciembre 2005, 16:34 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Obtener información de visitantes y ponerla en un .txt
« Respuesta #9 en: 16 Septiembre 2004, 05:02 »

En este Script se obtiene información de cada visitante que entre, como:

-Fecha y hora
-Pc
-Lenguaje
-Web de donde viene
-IP

Y todo eso se guarda en un .txt, entrantes.txt al cual debes darle permisos 777 (sin esto no funcionará):

Código:
<?php
$archivo = "entradas.txt";
$web = (!$HTTP_REFERER)?"Ninguna web":$HTTP_REFERER;
//Se ve si el user viene de alguna web, si es así, pone de que web y si no viene de ninguna, pone Ninguna web
$fecha = date("d/m/Y g:i:s a"); //Se ve la fecha y hora
$entrada = "Nueva Entrada en ".$fecha.":
IP: ".$REMOTE_ADDR."
Pc: ".$HTTP_USER_AGENT."
Lenguaje: ".$HTTP_ACCEPT_LANGUAGE."
Viene de: ".$web."
\n"; //Se guardan los datos en una variable
$f = fopen($archivo,"a"); //Se abre el archivo .txt
fwrite($f,$entrada); //Se ponen los datos obtenidos en el archivo
fclose($f); //Se cierra el archivo
?>

Salu2!
En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Uso de EE.RR para hacer BBCode
« Respuesta #10 en: 20 Septiembre 2004, 12:57 »

Bueno, algunos de ustedes se podrán preguntar "Que #%!% son las EE.RR???", pues, son las "Expresiones Regulares", y sirven para encontrar tal cosa dentro de tal texto o variable, y ese tipo de cosas.

Esto se usa, por ejemplo, para el BBCode, tal sea cambiar
Código:
[color=tal]Algo[/color]
por
Código:
<font color=tal>Algo</font>
, etc...

En este caso, se hará para reemplazar ->
Código:
[url=http://www.algo.com]Algo[/url]
por
Código:
<a href=http://www.algo.com>Algo</a>
.

Para esta EE.RR se usará la función preg_replace, que reemplazará cualquier coincidencia con lo buscado.

Se haría asi:

Código:
<?php
function bbcode ($text) {
$text = preg_replace ("/\[url=(http://\/\/www\.([0-9a-z](.+))\.([a-z]{2,4}))\](.+)\[\/url\]/i","<a href=\\1>\\5</a>",$text);
return $text;
}
$algo = "Hola!! Mi web es [url=http://www.elextremo.cl]ESTA[/url]";
$algo = bbcode ($algo);
echo $algo;
?>

Bueno, pueden parecer hasta letras chinas, pero aquí les explico que son cada una:

El / del principio y el / del final indican el principio y el final de la expresion regular (valga la redundancia :P).

Ahora, para poner caracteres del tipo [ . / etc se debe poner una \ antes, para que reconozca que se está hablando de texto. Es por esto que hay un \[ url=http:// , que indica que al principio debe haber un [ url=http://.

Sigue esto (http://\/\/www\.([0-9a-z](.+))\.([a-z]{2,4})) que, traducido al español, sería: cualquier dirección que empieze por http://www. y que esté seguido por cualquier caracter del 0 al 9 y de la A a la Z o otro caracter y que se puede repetir 1 o mas veces, y luego un . (punto) que debe de estar seguido por una palabra de 2 a 4 letras, solo con letras de la A a la Z. Después se pone \] que indicaría fin de [ url=http://.

Luego se usa (.+) denuevo. El . (punto) es un comodín para todos los caracteres, y que se repita 1 o mas veces.

Ahora está el cierre, que es \[\/url\], que equivaldría a [/url].

La i después del / indica que en el texto pueden haber mayúsculas y minúsculas. También se puede usar s, que indica que se pueden poner saltos de línea en el texto.

Luego, se encontrarán con un \\1. Esto indica la primera coincidencia entre los paréntesis. Luego el \\5, que igual al que está arriba.

Espero que se entienda, porque realmente fue muy complicado para mí explicar todo esto :P

Salu2!

PD: Siesque definitivamente no se entiende, porfavor envíame un IM para que trate de explicarlo mejor.
« Última modificación: 29 Septiembre 2004, 08:40 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Buscar carácteres inválidos en una cadena
« Respuesta #11 en: 11 Octubre 2004, 13:01 »

Buenas ;D

La verdad no le veo mucho sentido a este script, pero bueh xDD

A través del siguiente script, se revisa cada letra o carácter de una cadena y se le compara con cada row de un array. Si se es igual al row, osea, hay un carácter inválido, se da por falso.

Esto lo hice hoy porque hoy mismo "descubrí" que se puede tratar a una cadena como un array...

Y como un script vale mas que mil palabras (esta me la inventé yo ;D), aquí va:

Código:
<?php
$inv = array (
0=>32,
1=>33
);
$str = "Hola amigo!";
$long = strlen ($str)-1;
for ($i = 0; $i <= $long; $i++) {
for ($x = 0; $x <= count($inv); $x++) {
if (ord ($str[$i]) == $inv[$x]) {
$malo = true;
}
}
}
if ($malo) {
echo "Cadena con carácteres inválidos!";
}
else {
echo "Cadena correcta";
}
?>

La función ord() es para obtener el ASCII de un carácter.

Como podrán darse cuenta, en el array están los ASCII del espacio (  ) y del signo de exclamación ( ! ). Aquí les dejo la lista de carácteres ASCII, que podrían ser considerados inválidos.

Citar
32 ->  (espacio)
33 -> !
34 -> "
38 -> &
39 -> '
40 -> (
41 -> )
42 -> *
45 -> -
46 -> .
47 -> /
58 -> :
59 -> ;
60 -> <
61 -> =
62 -> >
63 -> ?
91 -> [
92 ->
93 -> ]
94 -> ^
123 -> {
124 -> |
125 -> }
126 -> ~

Salu2!
« Última modificación: 13 Octubre 2004, 03:42 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Función para asignar la Unidad de peso a un archivo
« Respuesta #12 en: 20 Octubre 2004, 08:01 »

Esta función sirve para que si tenemos un archivo de 1024 bytes, lo ponga así:

Citar
1 kb

Sería así:

Código:
<?php
function tamano($arc) {
if (file_exists ($arc)) {
$tam = filesize ($arc);
$un = array ("b","kb","mb");
$ex = $un[0];
$i = 1;
while ($tam >= 1024 && $i < count($un)) {
$tam /= 1024;
$ex = $un[$i];
$i++;
}
return round ($tam,2)." ".$ex;
}
else {
echo "El archivo no existe!";
}
}
?>

Aproxima el peso del archivo y luego, según el peso, le asigna la unidad, que es vista en el Array y pueden agregarle mas.

Y lo llamas así:

Código:
<?php
echo tamano ("algo.noseque");
?>

Importante: El script y el archivo deben estar en la misma carpeta.

Es muy útil para sección de descargas y ese tipo de cosas :P

Salu2!
« Última modificación: 29 Noviembre 2004, 03:44 por -Riven-Ward- » En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
"Explorador" de archivos
« Respuesta #13 en: 14 Noviembre 2004, 03:10 »

Este script sirve para "explorar" los archivos de tu PC, y ir a los que se pueden ver...

Código:
<?php
function explorar ($car) {
$tam = strlen ($car)-1;
if ($car[$tam] != "/") {
$car .= "/";
}
$dir = opendir($car);
echo "Haz click en el archivo al cual quieras ir<br>";
echo "<select multiple size=\"10\" onChange=\"window.location.href=this.options[this.selectedIndex].value\">";
while ($file = readdir($dir)) {
echo "<option value=\"".$car.$file."\">".$file."</option>";
}
closedir($dir);
echo "</select>";
}
if ($cual) {
if (!is_dir ($cual)) {
echo "El archivo no existe!";
}
else {
explorar ($cual);
}
}
else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="text" name="cual"> (Formato C:/)<br><br>
<input type="submit" name="enviar" value="Explorar!">
</form>
<?php
}
?>

OJO: Donde pones la Unidad o carpeta que quieres explorar, tienes que poner los slashes así: /, no así: \.

Salu2!
En línea

Usuario Banneado
-Riven-Ward-
RivenSoft

Desconectado Desconectado

Mensajes: 2.219


Do you like Mario? xDDDDDDDDDDDD


Ver Perfil WWW
Generar contraseñas aleatorias
« Respuesta #14 en: 28 Noviembre 2004, 22:51 »

Con este script puedes hacer contraseñas de X largo (tu eliges, 6 por default) que incluye mayúsculas (A-Z), minúsculas (a-z) y números (0-9). La razón por la cual los otros carácteres (?, !, >, etc...) no fueron incluídos, es porque en algunas partes no aceptan esos carácteres.

Ejemplo de constraseña creada por este script: 4X0Tn1

Código:
<?php
$largo = "6"; //Este es el largo del password, puede variar
$invalidos = array (58,59,60,61,62,63,64,91,92,93,94,95,96);
$i = "0";
while ($i < $largo) {
mt_srand ((double) microtime()*1000000);
$num = mt_rand (48,122);
if (in_array ($num,$invalidos)){
continue;
}
else {
echo chr ($num);
}
$i++;
}
?>

Espero que les sirva.

Salu2!
En línea

Usuario Banneado
Páginas: [1] 2 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC