Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Cuantico en 28 Febrero 2004, 05:01 am



Título: [Recomendado] Preguntas Mas Frecuentes de PHP (scripts)
Publicado por: Cuantico en 28 Febrero 2004, 05:01 am
Indice

     Saber info de mi Servidor
http://foro.elhacker.net/index.php/topic,51341.msg133925.html#msg133925

Hacer Web modular en PHP...
http://foro.elhacker.net/index.php/topic,51341.msg133926.html#msg133926

     Convertir Textos de Minuscula a Mayuscula y al revéz.
http://foro.elhacker.net/index.php/topic,51341.msg133948.html#msg133948

Peso de Paginas y Tiempo de Carga
http://foro.elhacker.net/index.php/topic,51341.msg133949.html#msg133949

     Como hacer una Encuesta con PHP y MYSQL ?
http://foro.elhacker.net/index.php/topic,51341.msg134258.html#msg134258

     Personalizar Error 404!...
http://foro.elhacker.net/index.php/topic,51341.msg134264.html#msg134264

Hacer Sistema de Avisar CumpleAños

http://foro.elhacker.net/index.php/topic,51341.msg134273.html#msg134273

     Salto de linea, cada X caractéres!
http://foro.elhacker.net/index.php/topic,51341.msg134274.html#msg134274

Nuestro Propio rotador de imagenes/banners
http://foro.elhacker.net/index.php/topic,51341.msg134653.html#msg134653

     Enviar correo con php (y en formato html) usando
mail()

http://foro.elhacker.net/index.php/topic,51341.msg134760.html#msg134760

Administrador de Links y Descargas en PHP
http://foro.elhacker.net/index.php/topic,51341.msg146955.html#msg146955

     Tagboard en php y usando MySQL
http://foro.elhacker.net/index.php/topic,51341.msg148649.html#msg148649

     Sistema de Afiliados en PHP y MySQL
http://foro.elhacker.net/index.php/topic,51341.msg148650.html#msg148650

     Upload de archivos con PHP
http://foro.elhacker.net/index.php/topic,51341.msg148652.html#msg148652

     Incluir una sola vez! un mandato include();
http://foro.elhacker.net/index.php/topic,51341.msg150997.html#msg150997

Funciones .NET en PHP
http://foro.elhacker.net/index.php/topic,51341.msg151003.html#msg151003

     Dos Funciones que te facilitan el trabajo (aprovecha el dinamismo)
http://foro.elhacker.net/index.php/topic,51341.msg152009.html#msg152009

Subir archivos al servidor!
http://foro.elhacker.net/index.php/topic,51341.msg152585.html#msg152585

     Mostrar ip del visitante, no importa proxy
http://foro.elhacker.net/index.php/topic,51341.msg153496.html#msg153496

     Buscar carácteres inválidos en una cadena
http://foro.elhacker.net/index.php/topic,51341.msg208621.html#msg208621

Usar imágen para mostar cosas de PHP
http://foro.elhacker.net/index.php/topic,51341.msg208635.html#msg208635

Validar campos, funcion para regresar a formulario
http://foro.elhacker.net/index.php/topic,51341.msg289358.html#msg289358

BBCODE, como? (Funcion)
http://foro.elhacker.net/index.php/topic,51341.msg337242.html#msg337242

     Expresiones regulares (regex) para validar direccion de correo
http://foro.elhacker.net/index.php/topic,51341.msg348248.html#msg348248





Bueno, aqui vamos....

Primero que todo, el fin de este faq, es ayudar ó encaminar, a esos usuarios, que a penas inician en el mundo del php. Intentaremos, ponerle todo un poco mas fácil, para que asi tengan un rápido entendimiento y desenvolvimiento del PHP.


Las primeras preguntas de todo explorador son ¿Que es Php?, ¿Como inicio? o ¿Por donde le entro?...

Tenemos en plataforma, varios links, que te podrán ayudar a elegir la puerta correcta para ti....

( Antes, te recomendamos darle una pequeña hojeadita a nuestro manual, en  el link: http://foro.elhacker.net/index.php?topic=25674.0 )

Primero, empezamos con:
www.php.net
Que te explica cada función, con lujo de comentarios, para que las apliques. Tambien es bueno pasarte por esta web cada cierto tiempo para ver posibles errores, cambios, etc.

Ahora te recomendamos, un enlace interno, q te explica un poco mas q es PHP...

http://foro.elhacker.net/index.php?board=7;action=display;threadid=10029 <---- !!!


Seguimos con:
www.desarrolloweb.com/php
www.php-hispano.net
www.zonaphp.com
www.webestilo.com/php
www.phpfreaks.com
www.phpbrasil.com
www.phpbuilder.com/
www.rinconastur.com/php/
www.solophp.com.ar/
www.php-center.de
www.portalmw.com/cursos/php/
http://otri.us.es/recursosPHP/
http://php.planetmirror.com/manual/es/print/index.php
http://php.resourceindex.com/


Para scripts prefabricados, te recomendamos la mejor!:
www.hotscripts.com/php
y
http://www.php-scripts.com

Bueno, seguimos por recomendarte que te descargues el Macromedia dreamweaver. Para que tengas como ver si vas mal, cuando creas codigos comunes.

Ahora, sabes, que el php, no puedes utilizarlo desde tu pc asi no mas, tienes primero que instalarlos, y para esto existen dos paquetes, buenisimos, que te instalan de un solo golpe, el php, apache y mysql.
php <- bueno, el lenguaje
apache <- el programa que transforma tu pc, en servidor de http.
mysql <- Base de Datos....
<<<<<< FoxServ  (http://sourceforge.net/projects/foxserv/)  >>>>>>>
<<<<<< PHP Triad  (http://sourceforge.net/projects/phptriad/) >>>>>>

y luego, get started :P
iniciamos :)

PD= De tener sugerencias, para agregar a este FAQ, favor enviemelo al IM, no es necesario que pongan las respuestas, con la pregunta basta. Recuerden, que este FAQ lo haremos entre todos...

EN CASO DE QUE EL FAQ, TE DEJE CON ALGUNA DUDA, SIENTETE LIBRE DE PREGUNTAR EN EL FORO!

Aprenda php y mysql :P


Título: Saber info de mi Servidor
Publicado por: Cuantico en 28 Febrero 2004, 05:08 am
2- Saber que me permite el servidor aprovechar del PHP

bueno, esta puede ser la pregunta mas sencilla y lógica del FAQ completo.

solo basta con crear una pagina, llamada como quieras, en este caso la llamaremos info.php

editas el info.php

y solo le incertas lo siguiente:
Código:
<?php
phpinfo()
?>
Luego abrimos la web, en el explorador, y listo!...


Título: Hacer Web modular en PHP...
Publicado por: Cuantico en 28 Febrero 2004, 05:12 am
3- Hacer nuestra propia página modular, osea index.php?hola=si

Hay varias maneras de hacerlo, puedes utilizar la que mas te guste...
1ro:
Código:
<?php  

switch ($sección) {  
  // Si el valor es 'descargas'
    case descargas:  
    include("descargas.php");  
    break;  
    
  // Si el valor es 'afiliados'
    case afiliados:  
    include("afiliados.php");  
    break;  
    
    case admin:  
    include("admin.php");  
    break;  

    case enlaces:  
    include("enlaces.php");  
    break;  
    
    case perfiles:  
    include("perfiles.php");  
    break;  

    case login:  
    include("entrar.php");  
    break;  

    case registro:  
    include("registro.php");  
    break;  

    case users:  
    include("login.php");  
    break;  
    
  // Si el valor no es correcto ó la variable no es llamada
  default:  
    include("index2.php");  
}  
// la URL Quedaria index.php?sección=descargas y asi...
//from xergio.net
?>
Tengo otro, hecho personalmente, a mis inicios:

Código:
<?php 
if ($sección==Articulos) {
  include("articulos.php");

}
if ($sección==FaqDeElHackernet) {
  include("faq.php");

}

else {

include("main.php");

}
?>    


y otro que es muy bueno, y lo ha enviado neohex:

Código:
<?php
if(!$id) {
include("principal.php");
}
else {
if(file_exists("$id.php")) {
include("$id.php");
}
else {
include("error.php");
}
}
?>
neohex dijo: Si id no tiene ningun valor -> incluye principla.php, si id tiene un valor y existe la pagina se incluye esa pagina, si id tiene el valor de una pagina que no existe...incluye la pagina error.php

P.D: enlaces del tipo:
index.php?id=email ....este incluye a pagina email.php


Título: Convertir Textos de Minuscula a Mayuscula y al revéz.
Publicado por: Cuantico en 28 Febrero 2004, 07:29 am
4- ¿Como Pasar de minuscula a mayuscula y al revéz?

Bien, para esto utilizamos dos funciones ya hechas por php.net, son las funciones: strtoupper y strtolower

ejemplo:

Código:
<?php
echo strtoupper("elhackernet");
// e imprimirá ELHACKERNET

echo strtolower("ELHACKERNET");
//e imprimirá elhackernet
?>



4.1- ¿Que pasa cuando solo quiero la primera palabra en mayuscula?

Tambien, tenemos la función para ti, es tan sencilla como: ucfirst

ejemplo:
Código:
<?php
echo ucfirst("elhackernet");
// e imprimirá Elhackernet
?>



Título: Peso de Paginas y Tiempo de Carga
Publicado por: Cuantico en 28 Febrero 2004, 07:39 am
5- ¿Como poner el tiempo que dura mi página cargando?

Debemos tener en cuenta, q este no es el tiempo, que dura un explorador en descargar una pagina. Como iniciante de PHP, debes saber que php, es un lenguaje serverside, que se ejecuta en el servidor no en el explorador... por lo que calculará es el tiempo, q dura el servidor en procesar la pagina y decirle al explorador que ya está lista.

lo primero, es poner la funcion en la pagina que queremos calcular el tiempo, este es el codigo (yo acostumbro a poner todos estos codigos, q usaré en cada una de las paginas de la web, en un mismo archivo, y este archivo, hacerle un include al principio de cada pagina)

Código:
<?php  
function getmicrotime() {  
    list($usec, $sec) = explode(" ",microtime());  
    return ((float)$usec + (float)$sec);  
}

$tiempo_inicio = getmicrotime();
?>

y este codigo, donde queremos imprimir el resultado del cálculo:

Código:
      <?php 
$tiempo_fin = getmicrotime();
$tiempo_total = round($tiempo_fin - $tiempo_inicio,3);

echo "<font size=\"-3\">Tiempo de ejecución: $tiempo_total </font>";
?>


5.1- ¿Como calculo el peso de mi página?

Es mas sencillo, pones este codigo, al principio de la web, tiene que ser el primer codigo de la pagina :), para que sea exacto....

Código:
<?php
ob_start();
?>

y este será al final de la web, lo ultimo, tambien para obtener un calculo exacto:

Código:
<?php
$despues = 212; // Número de bytes después de echo round((( ....
echo 'Peso de esta página: ';
echo round(((ob_get_length()+$despues)/1024)*100)/100;
echo 'kb';
ob_end_flush();
?>


Título: Como hacer una Encuesta con PHP y MYSQL ?
Publicado por: Cuantico en 29 Febrero 2004, 05:07 am
- ¿Como hacer una Encuesta con PHP y MYSQL ?

Bueno, aqui ya le entramos al SQL, te hablaremos suponiendo, que te leiste el link, q te dimos antes de regerirte a www.php.net (el tuto de riven ward y neohex).

Bueno, lo primero es hacer las tablas de la base de datos, necesarias para manejar nuestra encuesta. Para esto, crearemos dos tablas, que explicaré a continuación.

Código:
CREATE TABLE encuestas 
       (id INT not null AUTO_INCREMENT,
       titulo VARCHAR (50) not null ,
       fecha INT (10) not null ,
       PRIMARY KEY (id));
la primera celda id, viene  de identificador, y es numerico, se autoincrementa (1, luego si agregamos otra encuesta, será la numero 2)

Titulo,  será el nombre que llevara la encuesta en activo o que solicitemos a la SQL.
y Fecha, para saber la fecha, en que fue insertada.

Código:
CREATE TABLE respuestas 
       (id INT not null AUTO_INCREMENT,
       texto VARCHAR (50) not null ,
       votos INT (5) not null ,
       idenc INT not null,
       PRIMARY KEY (id));
Bueno, está es donde se estarán depositadas todas las respuestas...

id, hace la misma funcion, de la tabla de arriba
Texto, es el texto o donde irá la pregunta.
votos, la cantidad de votos que tiene dicha respuesta
e idenc, q es para enlazar la respuesta al id de la encuesta.


Bueno, listo todo esto, empezamos a la creacion de nuestra encuesta

1er paso, crearemos un formulario para el admin, donde nos preguntara, el nombre de la pregunta y la Cantidad de respuestas
Llamada enc1.php
Código:
<form name="form1" method="post" action="enc2.php">
  <p>Titulo de la encuesta:
    <input type="text" name="titulo">
  </p>
  <p>N&uacute;mero de respuestas:
    <input type="text" name="respuestas">
  </p>
  <p>
    <input type="submit" name="Submit" value="Enviar">
  </p>
</form>
Luego, que le demos a aceptar, en el formulario enc1.php, nos dirigira a esta página un segundo formulario llamado enc2.php, con la posibilidad de escribir la cantidad de respuestas que hemos puesto  en enc1.php.

Código:
form action="enc3.php" method="post">
  <table border="0">
<?php
  for($i=1;$i<=$respuestas;$i++){
?>
  <tr>
    <td>respuesta <?php echo $i; ?></td>
    <td><input name="p<?php echo $i;?>" type="text" size="50" maxlength="50"></td>
  </tr>
<?php } ?>
  </table>
    <input type="submit" name="Submit" value="Enviar"></p>
   <input name="titulo" type="hidden" value="<?php echo $titulo;?>">
   <input type="hidden" name="respuestas" value="<?php echo $respuestas;?>">
</form>

Luego seguimos con el archivo encargado de insertar los datos a la base de datos...

enc3.php
Código:
<?php 

//Conectamos con la base de datos
include("conectbd.php");
$enlace = mysql_connect($host, $usuario, $password);
mysql_select_db($db,$enlace);

//Obtenemos la fecha del sistema
$fecha = time();

//Insertamos la nueva encuesta
$sql = "INSERT INTO encuestas (titulo, fecha) VALUES ('$titulo', '$fecha') ";
$sql = mysql_query($sql);

//Ahora obtenemos el ID de la encuesta que acabamos de insertar
$sql = "SELECT id FROM encuestas ORDER BY fecha DESC LIMIT 0,1";
$sql = mysql_query($sql);
while($row = mysql_fetch_array($sql)){
   $id=$row["id"];
}

//Recorremos todas las preguntas
for($i=1; $i<=$respuestas; $i++){

//Obtenemos el texto de la pregunta
   $preg = p.$i;
   $texto = $$preg;

//Y lo insertamos
   $sql = "INSERT INTO respuestas(texto, votos, idenc) VALUES(\"$texto\", 0, $id)";
   $sql = mysql_query($sql);
   }
 ?>
<div align="center"><strong>Felicidades!! Si todo ha ido bien, tu encuesta ha
  sido insertada!! </strong> </div>



hacemos el archivo conectabd.php

Código:
<?php 
$host = "miHost";
$usuario = "miUsuario";
$password = "miContraseña";
$db = "miBaseDeDatos";
?>



Bien, ahora, damos el formulario para realizar los votos
Código:
<?php
//Conectamos con la base de datos
   require('contactabd.php');
   $enlace = mysql_connect($host,$usuario,$password);
   mysql_select_db($db,$enlace);
   
//Seleccionamos la informacion de la última encuesta insertada
   $consulta = "SELECT * FROM encuestas ORDER BY fecha DESC LIMIT 0,1";
   $consulta = mysql_query($consulta,$enlace);
   while($row = mysql_fetch_array($consulta)){
      $titulo=$row["titulo"];
      $fecha=$row["fecha"];
      $id=$row['id'];
   }
?>
<body>
<form name="form1" method="post" action="votar.php">
  <table width="350" border="1">
    <tr>
      <td colspan="2"><strong>Titulo</strong>: <?php echo $titulo; ?>
        <input type="hidden" name="id" value="<?php echo $id;?>"></td>
    </tr>
    <?php
   $sql = "SELECT texto, id FROM respuestas WHERE idenc=\"$id\"";
   $sql = mysql_query($sql,$enlace);
   while($row = mysql_fetch_array($sql)){
      $texto=$row["texto"];
      $idres=$row["id"];
?>
    <tr>
      <td width="51"><input type="radio" name="opcion" value="<?php echo $idres; ?>"></td>
      <td width="283"><?php echo $texto; ?></td>
    </tr>
    <?php } ?>
    <tr>
      <td><input type="submit" name="Submit" value="Enviar"></td>
      
      <td>Esta encuesta est&aacute; desde el <?php echo date('d-m-y',$fecha); ?></td>
    </tr>
    <tr>
      <td colspan="2"><a href="votar.php">Ver resultados</a></td>
    </tr>
  </table>
</form>
</body>


Luego seguimos, con el archivo que se encargara de introducir los votos a la base de datos, llamaremos al archivo votar.php

Código:
<?php 
require('configuracion.inc.php');
$enlace = mysql_connect($host, $usuario, $password);
mysql_select_db($db,$enlace);
      
//Obtenemos el titulo de la encuesta
$consulta = "SELECT titulo FROM encuestas ORDER BY fecha DESC LIMIT 1,0";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
   $titulo= $row['titulo'];
}
      
//Obtenemos el numero actual de votos para la opción elegida
//Comprobamos si $opcion no está vacío porque posteriormente este mismo
//fichero lo utilizaremos para ver resultados sin tener que votar necesariamente
if(!empty($opcion)) {
   $consulta = "SELECT votos FROM respuestas WHERE id=$opcion";
   $consulta = mysql_query($consulta,$enlace);
   $lado=mysql_num_rows($consulta);
   while($row = mysql_fetch_array($consulta)){
      $votos= $row['votos'];
   }
      
//Incrementamos en uno los votos totales
   $votos = $votos + 1;
//Y actualizamos la base de datos
   $consulta = "UPDATE respuestas SET votos = $votos WHERE id=$opcion";
   mysql_query($consulta,$enlace);
}
?>


Bien, ahora procederemos, a crear el archivo o manera, de mostrar como va la encuesta osea, el estado de votos...

Como el el método, es creando gráfico, necesitaremos tener la LIBRERIA GD (http://www.php.net/gd) activa, para la autocreacion de la imagen.


este codigo puede parecer complejisimo, pero solo obtiene datos de la bd, y los dibuja en el grafico....
Código:
dgrafica.php
<?php
include("conectadb.php");
$enlace = mysql_connect('tuHost','tuUsuario','tuPassword');
mysql_select_db('tuBaseDeDatos');

//Obtenemos el titulo de la última encuesta para colocarlo como título en nuestro gráfico
$consulta = "SELECT titulo, id FROM encuestas ORDER BY fecha DESC LIMIT 0,1";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
  $titulo= $row['titulo'];
  $id=$row['id'];
}

//Obtenemos el numero de votos de cada opcion y los metemos en "votos[]"
$consulta = "SELECT votos, texto FROM respuestas WHERE idenc=$id";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
  //Guardamos el texto en la variable temp. Este texto nos servirá como
   //índice en el array votos[]
  $temp = $row['texto'];
  $votos[$temp]= $row['votos'];
}

//Variables del gráfico
$width = 500;       //Ancho de la imagen
$espacioCol = 30;   //Espacio que habrá del principio de una columna a otra
$altoCol = 15;      //El alto de las columnas
$height = 2*count($votos)*$espacioCol+45;   //El alto de la imagen
$maxvoto = max($votos);   //Valor de la opcion mas votada
$maxlargo = $width-50;      //Largo que tendrá la opción mas votada
$coeficiente = (int)($maxlargo / $maxvoto);   //Coeficiente para calcular el largo de cada opcion

//Creamos la imagen con el alto y ancho asignados anteriormente   
$image = imagecreate($width,$height);

//Declaramos variables para los colores.   Al ser el gris el primer color que
//declaramos, éste se quedará como color de fondo en la imagen
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$black = imagecolorallocate($image, 0x00, 0x00, 0x00);
$blue = imagecolorallocate($image, 0x00, 0x00, 0xFF);

//Recorremos el array 'votos'
for($i=0; list($texto, $vot) = each($votos); $i++) {

  $labelfont = 2; //Fuente empleada para etiquetas
  //Dibujamos las barras
  //Coordenadas para definir el rectángulo
  $valign = ($i+1)*$espacioCol + 15;
  $halign = 30;
  $valign2 = $valign + $altoCol;
  $halign2 = $halign+$vot*$coeficiente;
  imagefilledrectangle($image,$halign,$valign,$halign2,$valign2,$blue);
  
  //Ponemos el índice de cada barra
  //Coordenadas para colocar los indices
  $indice = $i + 1;
  $halign = 15;
  imagestring($image, $labelfont, $halign, $valign, $indice, $black);
  
  //Leyenda: Numero de opcion + Texto + ( votos )
  //Coordenadas para colocar la leyenda
  $valign = ($i+1)*$espacioCol + (count($votos)*$espacioCol)+ 15;
  $halign = 30;
  $leyenda = "Opcion ".$indice.": ".$texto." ($vot)";
  imagestring($image, $labelfont, $halign, $valign, $leyenda, $black);      
}

//Asignamos tipografía y colocamos el título en la parte superior izquierda
$titlefont = 3;
imagestring($image, $titlefont, 10, 10, $titulo, $black);

//Dibujamos el recuadro que encierra el contenido
imagerectangle($image, $width - 5, 30, 5, $height - 5, $black);   

//Devolvemos la imagen
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>

y para visualizar, la imagen con los resultados, solo utilizamos:

<img src="dgrafica.php">


Ejemplos tomados de programacion.com, con el fin de explicar mas o menos la sistematización de las encuestas, esperando, q a partir de este script, como introducción, cada uno, pueda hacer su propio sistema...


Título: Personalizar Error 404!...
Publicado por: Cuantico en 29 Febrero 2004, 05:28 am
-  ¿Como hacer mi propia pagina de error 404 (Petición no encontrada) ?

Bien, si andas preguntando como se hace esto, es que ya has visto las webs, que tienen sus errorers 404 personalizados, como aqui lo tenemos, en elhacker.net  (puedes entrar a www.elhacker.net/cuántico.htm , y verás que te da un error 404, q ha hecho el brujo).

Empecemos....



Lo primero que tenemos que hacer, es agregar la siguiente linea al .htaccess

Código:
ErrorDocument 404 /path/mi404.php

pero si queremos mas errores, algo tan sencillo como:

Código:
ErrorDocument 505 /path/mi505.php
por poner un ejemplo...

Bueno, luego que hallamos configurado...
procedemos a crear nuestro script...

Código:
<html> 
<head>
<title>Documento no encontrado</title>
</head>
<body>
El documento: <b><?=$_SERVER['REQUEST_URI']; ></b> URL no encontrada<br>
Regresar o Morir

</body>
</html>

Recuerda, hacer la pagina mayor a 512 bytes, ya que Internet Explorer, no muestra paginas de errores menores a este size....

$_SERVER['REQUEST_URI'] <--- Esta variable, lo que hace es mostrar el archivo que ha sido pedido por el explorador!

y es asi de Facil :)

Pero, como te darás cuenta tu, si los usuarios que reciben este error no te avisan del enlace roto......

pues podemos hacer mas extenso este script, y que este nos envie un mail, con el enlace que fue pedido y no encontrado o cualquier otro error.... lo hacemos con la función mail()...

Veamos:

Código:
ErrorDocument 505 /path/mi505.php
por poner un ejemplo...

Bueno, luego que hallamos configurado...
procedemos a crear nuestro script...

Código:
<html> 
<head>
<title>Documento no encontrado</title>
</head>
<body>
El documento: <b><?=$_SERVER['REQUEST_URI']; ></b> URL no encontrada<br>
Regresar o Morir

<?php

$fecha = date('d/m/Y H:i:s');
$a = 'cuántico@qantic.net';
$asunto = 'error blah blah';
$mensaje = 'El archvio: ' . $_SERVER['REQUEST_URI'] . ' ha dado el error blah bla a la peticion en fecha ' . $fecha . ' por ' . $_SERVER['HTTP_REFERER'];

mail($a, $asunto, $mensaje);
?>
</body>
</html>

Ya podés hacer tus propios Errores (valga la redundancia :P)


Título: Hacer Sistema de Avisar CumpleAños
Publicado por: Cuantico en 29 Febrero 2004, 06:13 am
- ¿Hacer sistema de avisar cumple años? ¿como?

neohex ha escrito:
/*

weno pues como tenia ganas de programar un ratito(5 minutos xdd) pues te e echo eso que kerias...basicamente, tu aora lo tienes que adaptar a tu gusto, con tu estilo, ect, etc, ect...

Son 5 archivos:
1- config.php
2- crear_tabla.php
3- insertar_fecha.php
4- fecha.php
5- borrar_tabla.php

config.php - Realiza la conexion con la DB.
Código:
<?php
$server = "localhost";
$user = "root";
$pass = "";
$db = "neohex";
$conec = @mysql_connect("$server", "$user", "$pass");
$dbconec = @mysql_select_db($db) or die (mysql_error());
?>

crear_tabla.php - Crea la tabla "fechas" en la DB
Código:
<?php
include("config.php");
if (isset($crear)){
$sql = "CREATE TABLE fechas (nombre varchar(20) not null,diames varchar(5) not null,ano varchar(4) not null)";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
}else{
?>
<form method="post" action="<?php $PHP_SELF ?>">
<input type="submit" name="crear" value="Crear Tabla">
<?php
}
?>

insertar_fecha.php - Desde donde se insertan las fechas en la DB
Código:
<?php
include("config.php");
if (isset($insertar)){
$sql = "INSERT INTO fechas (nombre,diames,ano) VALUES ('$nombre','$diames','$ano')";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
}else{
?>
<form method="post" action="<?php $PHP_SELF ?>">
Nombre:<input type="text" name="nombre"><br>
Dia/Mes:<input type="text" name="diames" value="<?php=date ("d/m"); ?>" size="5">Año:<input type="text" name="ano" value="<?php=date ("Y"); ?>" size="4"><br>
<input type="submit" name="insertar" value="Insertar">
<?
}
?>

fecha.php - Muestra a los usuarios que cumplen los años
Código:
<?php
include("config.php");
$sql = "SELECT * FROM fechas";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
while($row = mysql_fetch_array($resp)){
$dia = date ("d/m");
$edad_ac = date ("Y");
$edad_an = "".$row['ano']."";
$fecha = "".$row['diames'];
$edad = $edad_ac - $edad_an;
if ($dia == $fecha){
echo "¡¡Felicidades: <b>".$row['nombre']."</b>!! hoy cumples $edad años.<br>";
}
}
?>

borrar_tabla.php - Cuando te canses de esto pues borrar todo el contenido..xdd
Código:
<?php
include("config.php");
if (isset($crear)){
$sql = "DROP TABLE fechas";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
}else{
?>
<form method="post" action="<? $PHP_SELF ?>">
<input type="submit" name="crear" value="Borrar Tabla">
<?
}
?>

¿Como lo usas?
[1] - El unico archivo que tienes que modificar con tus datos es el config.php
[2] - Subes todos los archivos a tu servidor
[3] - Creas la tabla (crear_tabla.php)
[4] - Ya cualkier usuario puede insertar su nombre y fecha de nacimiento...

*/


Título: Salto de linea, cada X caractéres!
Publicado por: Cuantico en 29 Febrero 2004, 06:16 am
- Quiero tener mis textos bien encuadrados, como agrego un salto de linea cada 80 caracteres? (por citar un ejemplo


Bien fácil mi querido watson, si has visto la opcion de wordwrap que tiene tu notepad, esa tambien podés usarla en php, de la siguiente manera:

Código:
<?php
$noticia = "textoooooooooooooooooooooooo";
$car = "80";

function br($noticia, $car) {
      if(strlen($noticia) > $car) {  // verifica si el texto tiene mas de 80 caracteres

        $noticia = wordwrap($noticia,$car,"<br>",1);  } // inserta el salto a los 80 car...

        else $noticia=$noticia; // si no es mas largo de 80 caracteres, lo deja igual

        return $noticia;      
} ?>


Título: Nuestro Propio rotador de imagenes/banners
Publicado por: Cuantico en 1 Marzo 2004, 08:54 am
-Quiero que mi web, cargue imagenes aleatoriamente!

Código:
<?php

$max = 2; // Cantidad de imagenes
srand((double)microtime()*1000000);
$numero = rand(0,"$max");     // busca un numero aleatorio, entre 0 y el $max incluyendolos

$imagen0 = "imagen0.jpg"; // nombre de imagenes, con todo y ruta
$imagen1 = "imagen1.jpg";
$imagen2 = "imagen2.gif";

?>


<img src="
<?php if ($numero== "0")
{
echo ("$imagen0");
}

if ($numero== "1")
{
echo ("$imagen1");
}

if ($numero== "2")
{
echo ("$imagen2");
}?>">



si quieres agregar una imagen, incrementas el $max + 1
o cantidad de imagenes que quieras agregar

y luego, agregas
Código:
$imagen3 = "imagen3.jpg";
$imagen4 = "imagen4.jpg";
etc
Siempre antes del primer if


y luego, siempre de de la ultima variable de la ruta de imagen, agregas esto, para que pueda salir tus nuevas imagenes...


Código:
if ($numero== "3")
{
echo ("$imagen3");
}
if ($numero== "4")
{
echo ("$imagen4");
}

y listo!


Título: Enviar correo con php (y en formato html) usando mail()
Publicado por: Cuantico en 1 Marzo 2004, 20:30 pm
-Como envio correos desde mi PHP?


Código:
<?php 
$destinatario = "cuántico@qantic.net"; // Quien recibirá los corroes
$asunto = "Enviando correo html"; // tema del correo

// Este es el Cuerpo, el contexto del mensaje, la esencia del correo, el todo :)
$cuerpo = '
<h1>Hola usuarios del elhacker.net!</h1>
<p>
<b>Holas esto va en negrita</b>. <i>esto en cursiva</i><u> y esto subrayado</u>
</p>

';

/* estas dos lineas que te siguen
son las que te permiten, enviar correos
en formato html, sin que salga el codigo de
html */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 // Este es para decir, de donde viene
$headers .= "From: cuántico <cuántico@qantic.net>\r\n";

// aqui entra el trabajo del mail()
mail($destinatario,$asunto,$cuerpo,$headers) ;
?>


Lo que te permite enviar correos html, es esto:

Código:
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


pos si lo quitas, ya enviará el codigo directamente..


Tambien, si quieres que te responda a otra persona, le agregas otro header (siempre antes del mail(). )

que sería:

Código:
$headers .= "Reply-To: alex@elhacker.net\r\n"; 

Para enviar copias:

Código:
$headers .= "Cc: cuántico@orangemail.com.do\r\n";

Para enviar copia oculta:

Código:
$headers .= "Bcc: cuántico@qantic.net\r\n"; 

y si quieres agregar mas direcciones, pues los divides por comas ","...

Si todo esta como lo indico aqui, tu phpmailer, debería de funcionar a la perfección...


Título: Administrador de Links y Descargas en PHP
Publicado por: Cuantico en 13 Abril 2004, 04:29 am
neohex escribio:

Bueno, pues aqui viene la última versión (v.1.2) del Sistema de Links (con Categorias)..jeje, es broma xDDDD
No te voy a poner las actualizaciones de cada archivo...directamente te pongo el sistema de nuevo y me ahorro tiempo...
Primero tienes que crear las tablas:
Código:
CREATE TABLE enlaces (
id INT(11) NOT NULL AUTO_INCREMENT,
cid INT(11) NOT NULL,
nombre VARCHAR(50) NOT NULL,
descr VARCHAR(255) NOT NULL,
dire VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
Código:
CREATE TABLE categorias (
id INT(11) NOT NULL AUTO_INCREMENT,
cat VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
Ahora los 5 archivos:
[1]- config.php
[2]- entrar.php
[3]- admin.php
[4]- enlaces.php
[5]- salir.php

[1]- config.php//Se encarga de conectar con la DB y contiene los datos del admin.
Código:
<?php
//Sistema De Links Con Categorias 100% by neohex
//Administrador y Password
$administrador = "admin_nick";
$password = "admin_pass";
//Conexion con la DB
$dbhost = "servidor";
$dbuser = "usuario";
$dbpass = "password";
$db = "base_datos";
//NO MODIFICAR MAS DESDE AKI
$conec = @mysql_connect("$dbhost", "$dbuser", "$dbpass");
$dbconec = @mysql_select_db($db, $conec);
if (eregi("config.php", $_SERVER['PHP_SELF'])){
header ("Location: enlaces.php");
}
?>

[2]- entrar.php//Este archivo es para que el administrador se conecte.
Código:
<?php
//Sistema De Links Con Categorias 100% by neohex
if (isset($entrar)){
include ("config.php");
$admin = $_POST['admin'];
$pass = $_POST['pass'];
if ($admin == $administrador && $pass == $password){
setcookie("neo_admin",$admin,time()+3600);
setcookie("neo_pass",$pass,time()+3600);
header ("Location: admin.php");
}else{
echo "Ese administrador no se corresponde con esa contraseña";
}
}else{
?>
<form method="post" action="<? $PHP_SELF ?>">
Admin:<input type="text" name="admin"><br>
Pass:<input type="text" name="pass"><br>
<input type="submit" name="entrar" value="Entrar">
<?php
}
?>

[3]- admin.php//Este sirve para agregar mas enlaces y crear mas categorias.
Código:
<?php
//Sistema De Links Con Categorias 100% by neohex
if ($_COOKIE["neo_admin"]){
include("config.php");
$admin = $_COOKIE["neo_admin"];
$pass = $_COOKIE["neo_pass"];
if ($admin == $administrador && $pass == $password){
$ins = $_GET['ins'];
if ($ins == ""){
header ("Location: $PHP_SELF?ins=admin");
}
if ($ins == "admin"){
echo "<center><a href=\"$PHP_SELF?ins=cat\">Insertar Categoría</a><br>";
echo "<a href=\"$PHP_SELF?ins=link\">Insertar Link</a><br><br>";
echo "<a href=\"enlaces.php\">enlaces.php</a><hr width=\"50\">";
echo "<a href=\"salir.php\">Salir</a></center>";
}
if ($ins == "cat"){
if (isset($ins_cat)){
$cat = $_POST['cat'];
$sql_cat = "INSERT INTO categorias (cat) VALUES ('$cat')";
$resp_cat= mysql_query("$sql_cat", $conec) or die (mysql_error());
header ("Location: $PHP_SELF?ins=admin");
}else{
echo "<form method=\"post\" action=\"$PHP_SELF?ins=cat\">";
echo "<input type=\"text\" name=\"cat\"><br>";
echo "<input type=\"submit\" name=\"ins_cat\" value=\"Insertar\"><br>";
echo "<center><a href=\"$PHP_SELF?ins=admin\">Volver</a></center>";
}
}
if ($ins == "link"){
if (isset($ins_link)){
$cid = $_POST['cid'];
$nombre = $_POST['nombre'];
$descr = $_POST['descr'];
$dire = $_POST['dire'];
$sql_link = "INSERT INTO enlaces (cid,nombre,descr,dire) VALUES ('$cid','$nombre','$descr','$dire')";
$resp_link = mysql_query("$sql_link", $conec) or die (mysql_error());
header ("Location: $PHP_SELF?ins=admin");
}else{
$sql = "SELECT * FROM categorias";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
echo "<table border=\"1\">";
echo "<tr>";
echo "<td><b>Categoría</b></td>";
echo "<td><b><u>id</b></u></td>";
echo "</tr>";
while ($row = mysql_fetch_array($resp)){
echo "<tr>";
echo "<td>".$row['cat']."</td>";
echo "<td>".$row['id']."</td>";
echo "</tr>";
}
echo "</table><br>";
echo "<form method=\"post\" action=\"$PHP_SELF?ins=link\">";
echo "<table>";
echo "<tr>";
echo "<td>Id de la Categoria</td>";
echo "<td><input type=\"text\" name=\"cid\" size=\"3\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Nombre del Link</td>";
echo "<td><input type=\"text\" name=\"nombre\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Descripción</td>";
echo "<td><textarea name=\"descr\"></textarea></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Dirección</td>";
echo "<td><input type=\"text\" name=\"dire\" value=\"http://\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td><input type=\"submit\" name=\"ins_link\" value=\"Insertar\"></td>";
echo "</tr>";
echo "</table>";
echo "<br><center><a href=\"$PHP_SELF?ins=admin\">Volver</a></center>";
}
}
}else{
echo "Porque coño has modificado la cookie...xDDD";
}
}else{
header ("Location: entrar.php");
}
?>

[4]- enlaces.php//Este muestra un listado de categorias y sus enlaces correspondientes.
Código:
<?php
//Sistema De Links Con Categorias 100% by neohex
include ("config.php");
if (!$cat){
echo "<center><b>CATEGORIAS</b></center>";
$sql ="SELECT * FROM categorias";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
while ($row = mysql_fetch_array($resp)){
echo "<a href=\"$PHP_SELF?cat=".$row['id']."\">".$row['cat']."</a><br>";
}
}
if ($cat){
echo "<center><b>ENLACES</b></center>";
$sql ="SELECT nombre,descr,dire FROM enlaces WHERE cid='".$_GET['cat']."' ORDER BY id DESC";
$resp = mysql_query("$sql", $conec) or die (mysql_error());
while ($row = mysql_fetch_array($resp)){
echo "<a href=\"".$row['dire']."\" target=\"_blank\">".$row['nombre']."</a><br>";
echo "".$row['descr']."<hr>";
}
echo "<br><center><a href=\"$PHP_SELF\">Volver</a></center>";
}
if ($_COOKIE["neo_admin"]){
$admin = $_COOKIE["neo_admin"];
$pass = $_COOKIE["neo_pass"];
if ($admin == $administrador && $pass == $password){
echo "<br><center><a href=\"admin.php\">Administrar enlaces</a></center>";
}
}
?>

[5]- salir.php//Este desconecta al administrador
Código:
<?php
//Sistema De Links Con Categorias 100% by neohex
if ($_COOKIE["neo_admin"]){
setcookie("neo_admin");
setcookie("neo_pass");
header ("Location: enlaces.php");
}else{
echo "Como piensas salir si ya estas fuera...?¿?¿?<br>";
echo "<a href=\"entrar.php\">Entrar</a>";
}
?>

¿Como usarlo?
[1]- Creas las tablas en la DB.
[2]- Subes todos los archivos a una misma carpeta.
[3]- Te logeas como administrador(entrar.php)
[4]- Desde admin.php puedes insertar mas enlaces y crear mas categorias.
[5]- Desde enlaces.php ves todas las categorias y sus enlaces correspondientes.

P.D: Espero que te sirva, no es muy profesional, pero puede darte el apaño...


Título: Tagboard en php y usando MySQL
Publicado por: Cuantico en 19 Abril 2004, 00:45 am
Riven-Ward wrote:

Tagboard en php y usando MySQL

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.


Título: Sistema de Afiliados en PHP y MySQL
Publicado por: Cuantico en 19 Abril 2004, 00:47 am
Riven-Ward wrote:

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 :).


Título: Upload de archivos con PHP
Publicado por: Cuantico en 19 Abril 2004, 00:48 am
Riven-Ward wrote:

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 = "http://www.aquituweb.com/archivos/$archivo_name";
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.


Título: Incluir una sola vez! un mandato include();
Publicado por: Cuantico en 29 Abril 2004, 02:47 am
También está creado igual q el include()
el include_once()
Q hace la misma función del primero, pero q si el codigo fue incluido por ningún caso será incluido otra vez. Es usado para esto, por si no quieres q un codigo se repita, pues usa include_once

Lo mismo para require() y require_once()


Título: Funciones .NET en PHP
Publicado por: Cuantico en 29 Abril 2004, 02:59 am
Pasar directamente al site:
http://www.php.net/manual/es/ref.dotnet.php


Título: Dos Funciones que te facilitan el trabajo (aprovecha el dinamismo)
Publicado por: Cuantico en 3 Mayo 2004, 01:48 am

Para los links
Código:
<?php
function href ($link, $text) {
return "<a href=\"$link\">$text</a>";
}
?>
donde en iría un link, solo bastaría con poner:

Código:
<?php href("http://www.elhacker.net", "Link a elhacker.net"); ?>

Para imagenes:
Código:
<?php 
function img ($src, $alt) {
return "<img border=0 src=\"$src\" alt=\"$alt\" $info[3]>";
}
?>

donde al momento de poner una imagen nos bastaría con:

Código:
<?php img("http://www.elhacker.net/elhacker.gif", "Imagen de elhacker.net"); ?>

Aunque son cosas sencillas y q algunos no utilizariamos, aparecen por ahí quien prefiera usar puro codigo php y ningun html :)


Título: Subir archivos al servidor!
Publicado por: Cuantico en 5 Mayo 2004, 05:14 am
Neohex y TheGhost wrotes:

subir.php :
Código:
<?php
if (isset($enviar)){
   if ($archivo_size <= 100000){
       $extensiones = explode(".",$archivo_name);
       $e = count($extensiones) - 1;
          if($extensiones[$e] == "zip"){
             move_uploaded_file($archivo,"carpeta/$archivo_name") ;
             echo "El archivo ha sido subido con éxito" ;
          }else{
          echo "Sólo se permiten archivos con extensión .zip" ;
          }
       }else{
       echo "El archivo debe ser menor de 100 Kb" ;
   }
}else{
?>
<FORM METHOD="POST" ACTION="subir.php" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="archivo">
<INPUT TYPE="submit" NAME="enviar" VALUE="Enviar">
</FORM>
<?
}
?>


Título: Mostrar ip del visitante, no importa proxy
Publicado por: Cuantico en 8 Mayo 2004, 16:58 pm
Claro, si el proxy es full anonimity pos no, pero mientras sea un proxy de 2, está todo bien:

En php el que yo utilizo es este:

Código:
<?php 

function getIP() {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
       $ips = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } 
    elseif (isset($_SERVER['HTTP_VIA'])) {
       $ips = $_SERVER['HTTP_VIA'];
    } 
    elseif (isset($_SERVER['REMOTE_ADDR'])) {
       $ips = $_SERVER['REMOTE_ADDR'];
    }
    else { 
       $ips = "unknown";
    }
     
    echo "Tu IP es: $ips";

}

 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
       $ip1 = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } 
    elseif (isset($_SERVER['HTTP_VIA'])) {
       $ip1 = $_SERVER['HTTP_VIA'];
    } 
    elseif (isset($_SERVER['REMOTE_ADDR'])) {
       $ip1 = $_SERVER['REMOTE_ADDR'];
    }
    else { 
       $ip1 = "unknown";
    }
?>

y se llama con un simple:

Código:
<?php
getIP();
?>


Título: Buscar carácteres inválidos en una cadena
Publicado por: Cuantico en 14 Octubre 2004, 05:15 am
Segun Riven-Ward:
"
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!"


Título: Usar imágen para mostar cosas de PHP
Publicado por: Cuantico en 14 Octubre 2004, 05:30 am
Riven-Ward dice: "

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

(http://www.centrodeportivovitacura.cl/chilegd.php)

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",$text);
/*
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!
"


Título: Validar campos, funcion para regresar a formulario
Publicado por: Cuantico en 24 Marzo 2005, 04:14 am
en un formulario que hice para unas personas, eran algunas 80 preguntas (son, aun no termino) uso esta funciona cada vez que le den al submit con algun campo que sea obligatorio y esté vacio.



Código:
<?php
function comprobar($mensaje) {
echo '<script language="javascript">alert("'.$mensaje.'\n\nFormulario para Egresados Honoríficos"); javascript:history.back(1)</script>';
}


?>


Título: BBCODE, como? (Funcion)
Publicado por: Cuantico en 6 Junio 2005, 21:39 pm
Funcion para convertir los bbcodes q se utilizan en los foros y message board, para publicarlo en buro codigo html...

Código:
<?php
function BIs2cODE($texto) {
        $texto = nl2br($texto);
        $texto = wordwrap($texto, 150, "\n", 1);

        $texto = str_replace("[b]", "<b>", $texto);
        $texto = str_replace("[/b]", "</b>", $texto);
        $texto = str_replace("[i]", "<i>", $texto);
        $texto = str_replace("[/i]", "</i>", $texto);
        $texto = str_replace("[poem]", "<center><i>", $texto);
        $texto = str_replace("[/poem]", "</center></i>", $texto);
        $texto = str_replace("[u]", "<u>", $texto);
        $texto = str_replace("[/u]", "</u>", $texto);
        $texto = str_replace("[br]","<br>",$texto);
        $texto = str_replace("[strong]","<strong>",$texto);
        $texto = str_replace("[/strong]","</strong>",$texto);
        $texto = str_replace("[center]","<center>",$texto);
        $texto = str_replace("[/center]","</center>",$texto);
        $texto = str_replace("[marquee]", "<marquee>", $texto);
        $texto = str_replace("[/marquee]", "</marquee>", $texto);
        $texto = str_replace("[blink]", "<blink>", $texto);
        $texto = str_replace("[/blink]", "</blink>", $texto);
        $texto = str_replace("[strike]", "<strike>", $texto);
        $texto = str_replace("[/strike]", "</strike>", $texto);
        $texto = str_replace("[quote]", "<blockquote><span>Citado:</span><hr color=#A3CFD8>", $texto);
        $texto = str_replace("[list]","<ul type=square>",$texto);
        $texto = str_replace("[/list]","</ul>",$texto);
        $texto = str_replace("[list=1]","<ol type=1>",$texto);
        $texto = str_replace("[list=a]","<ol type=A>",$texto);
        $texto = str_replace("[list=A]","<ol type=A>",$texto);
        $texto = str_replace("[/list=1]","</ol>",$texto);
        $texto = str_replace("[/list=a]","</ol>",$texto);
        $texto = str_replace("[/list=A]","</ol>",$texto);
        $texto = str_replace("[*]","<li>",$texto);
        $texto = str_replace("[•]","<li>",$texto);

        $texto = eregi_replace("(^|[>[:space:]\n])([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])([<[:space:]\n]|$)","\\1<a href=\"\\2://\\3\\4\" target=\"_blank\">\\2://\\3\\4</a>\\5", $texto);

        $texto = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\\1>\\2</font>",$texto);
        $texto = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]","<font size=\\1>\\2</font>",$texto);
        $texto = eregi_replace("\\[font=([^\\[]*)\\]([^\\[]*)\\[/font\\]","<font face=\\1>\\2</font>",$texto);
        $texto = eregi_replace("\\[align=([^\\[]*)\\]([^\\[]*)\\[/align\\]","<p align=\\1>\\2</p>",$texto);

        $padrones[]     = "#\[img\]([^\[]*)\[/img\]#si";
        $remplanzantes[] = '<img src="\1" border=0 />';

        $padrones[]     = "#\[img=([^\[]*)x([^\[]*)\]([^\[]*)\[/img\]#si";
        $remplanzantes[] = '<img width="\1" height="\2" src="\3" border=0 />';

        $padrones[]     = "#\[flash=([0-9].*?){1}x([0-9]*?)\](.*?)\[/flash\]#si";
        $remplanzantes[] = '<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://active.macromedia.com/flash2/cabs/swflash.cab#version=6,0,0,0 ID=main WIDTH=\1 HEIGHT=\2><PARAM NAME=movie VALUE=\3><PARAM NAME=loop VALUE=false><PARAM NAME=menu VALUE=false><PARAM NAME=quality VALUE=best><EMBED src=\3 loop=false menu=false quality=best WIDTH=\1 HEIGHT=\2 TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash></EMBED></OBJECT>';

        $padrones[]     = "#\[url\]([a-z]+?://){1}(.*?)\[/url\]#si";
        $remplanzantes[] = '<a href="\1\2" target="_blank">\1\2</a>';

        $padrones[]     = "#\[url\](.*?)\[/url\]#si";
        $remplanzantes[] = '<a href="http://\1" target="_blank">\1</a>';

        $padrones[]     = "#\[url=([a-z]+?://){1}(.*?)\](.*?)\[/url\]#si";
        $remplanzantes[] = '<a href="\1\2" target="_blank">\3</a>';

        $padrones[]     = "#\[url=(.*?)\](.*?)\[/url\]#si";
        $remplanzantes[] = '<a href="http://\1" target="_blank">\2</a>';

        $padrones[]     = "#\[email\](.*?)\[/email\]#si";
        $remplanzantes[] = '<a href="mailto:\1">\1</a>';

        $padrones[]     = "#\[email=(.*?){1}(.*?)\](.*?)\[/email\]#si";
        $remplanzantes[] = '<a href="mailto:\1\2">\3</a>';

        $texto = preg_replace($padrones, $remplanzantes, $texto);
        return $texto;
}
?>


Y se utiliza con el simple: BIs2cODE($variable);[/quote]


Título: Expresiones regulares (regex) para validar direccion de correo
Publicado por: Cuantico en 23 Junio 2005, 05:12 am
Código:
^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$


Título: Re: Preguntas Mas Frecuentes de PHP (scripts)
Publicado por: Cuantico en 25 Noviembre 2005, 22:20 pm
si tiene version de php anterior a 4.3 y necesita usar session_regenerate_id, cree usted mismo la funcion

Código:
<?php
   if (!function_exists('session_regenerate_id')) {
       function php_combined_lcg() {
           $tv = gettimeofday();
           $lcg['s1'] = $tv['sec'] ^ (~$tv['usec']);
           $lcg['s2'] = posix_getpid();

           $q = (int) ($lcg['s1'] / 53668);
           $lcg['s1'] = (int) (40014 * ($lcg['s1'] - 53668 * $q) - 12211 * $q);
           if ($lcg['s1'] < 0)
               $lcg['s1'] += 2147483563;

           $q = (int) ($lcg['s2'] / 52774);
           $lcg['s2'] = (int) (40692 * ($lcg['s2'] - 52774 * $q) - 3791 * $q);
           if ($lcg['s2'] < 0)
               $lcg['s2'] += 2147483399;

           $z = (int) ($lcg['s1'] - $lcg['s2']);
           if ($z < 1) {
               $z += 2147483562;
           }

           return $z * 4.656613e-10;
       }

       function session_regenerate_id() {
           $tv = gettimeofday();
           $buf = sprintf("%.15s%ld%ld%0.8f", $_SERVER['REMOTE_ADDR'], $tv['sec'], $tv['usec'], php_combined_lcg() * 10);
           session_id(md5($buf));
           if (ini_get('session.use_cookies'))
               setcookie('PHPSESSID', session_id(), NULL, '/');
           return TRUE;
       }
   }
?>

Para probar:
Código:
<?php
   session_start();
   $sid = session_id();
   session_regenerate_id();
   echo "Old session ID: ", $sid, "\nNew session ID: ", session_id(), "\n";
?>