Foros del Web » Programando para Internet » PHP »

E-mail BD como imagen

Estas en el tema de E-mail BD como imagen en el foro de PHP en Foros del Web. Hola a todos... Navegando por la red he encontrado un script que muestra los E-mail como imagen. Ahora bien, los E-mail de usuarios los guardo ...
  #1 (permalink)  
Antiguo 03/05/2008, 09:33
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
E-mail BD como imagen

Hola a todos...

Navegando por la red he encontrado un script que muestra los E-mail como imagen.

Ahora bien, los E-mail de usuarios los guardo en una BD MySQL en el campo "email".

Por favor, alguien me puede orientar o decir, como puedo hacer la consulta de los E-mail a la BD y los imprima como imagen usando este script?

El archivo como_ejecutar.php dice que se puede usar una variable, pero no se como hacerlo con la BD.

Desde ya muchas gracias!

Aquí dejo el escript y como se ejecuta:

email_src.php
Código PHP:
<?php
header
("Content-Type: image/png");

// get amounts and titles from session.
$text base64_decode($_GET['text']);

// calculate required width and height of image
$pic_width strlen($text)*6;
$pic_height 12;

// create image
$pic ImageCreate($pic_width+1,$pic_height+1);

// allocate colours
$white ImageColorAllocate($pic,255,255,255);
$grey  ImageColorAllocate($pic,200,200,200);
$lt_grey  ImageColorAllocate($pic,210,210,210);
$black ImageColorAllocate($pic,0,0,0);
$trans_temp ImageColorAllocate($pic,254,254,254);
$transparent ImageColorTransparent($pic,$trans_temp);

// using isset not !empty, as values could=0, therefore "empty"
if(isset($_GET['r']) && isset($_GET['g']) && isset($_GET['b']))
{
    
$user ImageColorAllocate($pic,intval($_GET['r']),intval($_GET['g']),intval($_GET['b']));
} else {
    
$user $lt_grey;
}

// transparent fill for background
ImageFilledRectangle($pic,0,0,$pic_width,$pic_height,$trans_temp);

// draw text
ImageString($pic,2,0,0,$text,$user);

// output image
ImagePNG($pic);

// remove image from memory
ImageDestroy($pic);
?>
como_ejecutar.php
Código PHP:
<?php
// encripta direccion de correo, puede ser usada con una variable:
// ejemplo: base64_encode($mivariable);

$string base64_encode('[email protected]');

// colores de la imagen r= cantidad de rojo, g= cantidad de verde,
// b= cantidad de azul, valor maximo 255
$email_encoded '<img src="email_src.php?r=100&g=150&b=0&text='.$string.'">';

// escribe la imagen del correo electronico
echo $email_encoded;
?>
  #2 (permalink)  
Antiguo 03/05/2008, 09:44
 
Fecha de Ingreso: agosto-2005
Ubicación: Valencia
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: E-mail BD como imagen

Leyendo al vuelo el script, este genera una imagen conteniendo un texto que se le pasa al script.

Pues bien, lo que debes hacer, es:

Este es el archivo como_ejecurar.php modificado
Código PHP:
<?php 
//No olvides porner las funciones de conexión con MySQL etc..

//Haz una consulta a la BD y extraes el resultado como objeto a la variable $res
$q mysql_query("Select *  From....");
$res mysql_fetch_object($q);

// Para acceder al campo email (suponiendo que se llame así, sino cambias email por su nombre real), haz como se muestra
$string base64_encode($res->email);

// colores de la imagen r= cantidad de rojo, g= cantidad de verde, 
// b= cantidad de azul, valor maximo 255 
$email_encoded '<img src="email_src.php?r=100&g=150&b=0&text='.$string.'">'

// escribe la imagen del correo electronico 
echo $email_encoded

Ahora se mostrara una imagen que podras imprimir a traves del Internet Explorer (CTRL +P)
?>
__________________
Quien a buen árbol se arrima, buena sombra le cobija. :aplauso:

http://dbtrucos.com
  #3 (permalink)  
Antiguo 03/05/2008, 10:07
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Re: E-mail BD como imagen

Hola el-eles...

He probado y no me sale... me estoy haciendo un lío que ni te cuento!!!

Te agradecería mucho que me des el ejemplo si es posible, sobre mi consulta a la BD con su paginador que es así:

Código PHP:
<?php
//Conexión a la base de datos
          
$con mysql_connect("localhost","usuario","contraseña") or die (mysql_error());
          
mysql_select_db("BD",$con) or die (mysql_error());

//Sentencia sql (sin limit)
          
$_pagi_sql "select
          Apellido,
          Nombre,
          Pais,
          Idioma,
          Investigacion,
          Cityarg,
          Cityrus,
          Url,
          Email
          FROM listaunpu ORDER BY apellido,nombre ASC"
;

//cantidad de resultados por página (opcional, por defecto 20)
          
$_pagi_cuantos 250;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
          
include("paginator.inc.php");
?>
          <table id='listaunpu' summary="Tabla pagina listaunpu">

          <caption><? echo $listintercambio_43?></caption>

          <thead>
          <tr>
          <th>Apellido</th>
          <th>Nombre</th>
          <th>Pais</th>
          <th>Investiga></th>
          <th>Ciudad 1</th>
          <th>Ciudad 2</th>
          <th>Web</th>
          <th>E-mail</th>
      </tr>
      </thead>

          <tbody>
<?php
//Leemos y escribimos los registros de la página actual
          
while($row mysql_fetch_array($_pagi_result)){
          
printf("
          <tr>
      <th>%s</th>
      <td>%s</td>
      <td>%s</td>
      <td>%s</td>
          <td>%s</td>
          <td>%s</td>
          <th>%s</th>
          <td>%s</td>
      </tr>
              "
$row["Apellido"],$row["Nombre"],$row["Pais"],$row["Investigacion"],$row["Cityarg"],$row["Cityrus"],$row["Url"],$row["Email"]);
          }
?>
          </tbody>
          </table>

          <div class="paginator">Página:
<?php
//Incluimos la barra de navegación
          
echo"".$_pagi_navegacion."";
//Incluimos la información de la página actual
          
echo"<br /><span style='font-size:16px;color:#000;'>".$_pagi_info."</span>";
?>
Gracias por ayudarme y saludos.-
  #4 (permalink)  
Antiguo 03/05/2008, 16:02
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Re: E-mail BD como imagen

Hola nuevamente...

Lo estoy probando así, tal vez no sea lo correcto pero imprime todos los datos de la tabla de la BD pero... el echo "$Email_encoded"; solo me muestra un solo E-mail de la tabla y los otros salen en blanco...

Si alguien me da una ayuda por favor!!!

Saludos.-

Código PHP:
<?php
//Conexión a la base de datos
          
$con mysql_connect("localhost","usuario","contraseña") or die (mysql_error());
          
mysql_select_db("BD",$con) or die (mysql_error());

//Sentencia sql (sin limit)
          
$_pagi_sql "select
          Apellido,
          Nombre,
          Pais,
          Idioma,
          Investigacion,
          Cityarg,
          Cityrus,
          Url,
          Email
          FROM listaunpu ORDER BY apellido,nombre ASC"
;

//cantidad de resultados por página (opcional, por defecto 20)
          
$_pagi_cuantos 250;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
          
include("paginator.inc.php");
?>
          <table id='listaunpu' summary="Tabla pagina listaunpu">

          <caption><? echo $listintercambio_43?></caption>

          <thead>
          <tr>
          <th>Apellido</th>
          <th>Nombre</th>
          <th>Pais</th>
          <th>Investiga></th>
          <th>Ciudad 1</th>
          <th>Ciudad 2</th>
          <th>Web</th>
          <th>E-mail</th>
      </tr>
      </thead>

          <tbody>
<?php
//Leemos y escribimos los registros de la página actual
          
while($row mysql_fetch_array($_pagi_result)){
          
printf("
          <tr>
          <th>%s</th>
          <td>%s</td>
          <td>%s</td>
          <td>%s</td>
          <td>%s</td>
          <td>%s</td>
          <th>%s</th>

              "
$row["Apellido"],$row["Nombre"],$row["Pais"],$row["Investigacion"],$row["Cityarg"],$row["Cityrus"],$row["Url"]);
          }
          
$q mysql_query("Select Email  From listaunpu");
          
$res mysql_fetch_object($q);
          
$Email_encoded '<img src="email_src.php?r=100&g=150&b=0&text='.$string.'">';
          echo 
"<td>";
          echo 
"$Email_encoded";
          echo 
"</td>";
          echo 
"</tr>";
?>
          </tbody>
          </table>

          <div class="paginator">Página:
<?php
//Incluimos la barra de navegación
          
echo"".$_pagi_navegacion."";
//Incluimos la información de la página actual
          
echo"<br /><span style='font-size:16px;color:#000;'>".$_pagi_info."</span>";
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.