Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - дٳŦ٭

#981
PHP / Re: Duda con un script de envio en PHP
4 Abril 2007, 01:50 AM
Creo que tiene errores el captcha, te paso uno que hizo un amigo  ;)

En tu formulario agrega:

<?php
session_start
();
$captcha_texto "";
for (
$i 1$i <= 6$i++) {
$captcha_texto .= caracter_aleatorio();
}
$HTTP_SESSION_VARS["captcha_texto_session"] = $captcha_texto;
function 
caracter_aleatorio() {
mt_srand((double)microtime()*1000000);
$valor_aleatorio mt_rand(1,3);
switch (
$valor_aleatorio) {
case 
1:
$valor_aleatorio mt_rand(97122);
break;
case 
2:
$valor_aleatorio mt_rand(4857);
break;
case 
3:
$valor_aleatorio mt_rand(6590);
break;
}
return 
chr($valor_aleatorio);
}
?>



Y llamas a la imagen: <img src="crear_imagen.php?<?php echo SID;?>">

En donde procesas el formulario:

<?php
session_start
();
$texto_ingresado $HTTP_POST_VARS["texto_ingresado"];
$captcha_texto $HTTP_SESSION_VARS["captcha_texto_session"];

if (
$captcha_x == $captcha_texto) {
//si lo puso bien

$destinatario "xxxxxxxx@gmail.com"// Quien recibirá los corroes
$asunto "Mensaje de la pagina PurasPruebeas: ".$asunto// tema del correo

// Este es el Cuerpo, el contexto del mensaje, la esencia del correo, el todo :)
$cuerpo ="El sr(a) $nombre dice: <br><br> \"$mensaje\", su email es: $email.<br> para dominio: $dominio"


$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: ".$nombre." <".$email.">\r\n"

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

header('Location: contacto.php?envio=si');



else{
//si lo puso mal
header('Location:  contacto.php?envio=no&error=captcha');
exit();
}
session_unset();
session_destroy();


En crear_imagen.php

<?php
//creamos la imagen definiendo el tamaño del alto y el ancho (150, 40)
$captcha_imagen imagecreate(150,40);
//creamos el color negro para el fondo y blanco para los caracteres
$color_negro imagecolorallocate ($captcha_imagen08085);
$color_blanco imagecolorallocate ($captcha_imagen255255255);
//pintamos el fondo con el cplor negro creado anteriormente
imagefill($captcha_imagen00$color_negro);
//iniciamos la session para obtener los caracteres a dibujar
session_start();
$captcha_texto $HTTP_SESSION_VARS["captcha_texto_session"];
//dibujamos los caracteres de color blanco
imagechar($captcha_imagen42013$captcha_texto[0] ,$color_blanco);
imagechar($captcha_imagen54013$captcha_texto[1] ,$color_blanco);
imagechar($captcha_imagen36013$captcha_texto[2] ,$color_blanco);
imagechar($captcha_imagen48013$captcha_texto[3] ,$color_blanco);
imagechar($captcha_imagen510013$captcha_texto[4] ,$color_blanco);
imagechar($captcha_imagen312013$captcha_texto[5] ,$color_blanco);
$rand1=rand(0,50);
$rand2=rand(2,7);
$rand3=rand(120,150);
$rand4=rand(34,50);
imageline($captcha_imagen$rand1$rand2$rand3$rand4$color_blanco);
//indicamos que lo que vamos a mostrar es una imagen
header("Content-Type: image/png");
//mostramos la imagen
imagepng($captcha_imagen);
?>



Saludos
#982
PHP / Re: problema con mysql mysql_connect()
2 Abril 2007, 23:48 PM
Tienes ya el servidor MySQL?

Si lo tienes revisa tu php.ini y descomenta las funciones del MySQL y reinicia el apache.
#983
xD

Están muy buenos, ahora veamos si se quedan.

Saludos
#984
Cita de: Ertai en 28 Marzo 2007, 18:15 PM
Que bueno!

No lo conocia, le pongo chincheta para los despistados como yo...  ;D

Sí, es muy poco conocido y muy dificil de implementar pero qué chuladas salen.

Saludos  ;)
#985
PHP / Re: Pequeños trucos en PHP
31 Marzo 2007, 01:53 AM
Aquí dejo una función muy sencilla pero útil  ;)

Código (php) [Seleccionar]

<?php
function conectar($host$user$pass$database){
$conectar mysql_connect($host$user$pass) or die(mysql_error());
mysql_select_db($database,$conectar);
return $conectar;
}
$conexion=conectar("tuhost","user","password","basededatos");
?>



Por ejemplo, en cada desarrollo creo un archivo llamado db.php y lo incluyo (include()) en mis php que usan MySQL. Ya solo utilizamos la variable $conexion como identificador de conexión.




Validar email
Una función para validar tu email (incluyendo subdominios).
Código (php) [Seleccionar]

<?php
function ValidaMail($v_email) {
    if (
ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$"$v_email )){
return true;
   }
else{
       
return false;
    
}
}
?>






Asegurando contra Inyección SQL
Es una función que incluye el SMF para evitar inyección SQL:
Código (php) [Seleccionar]

<?php
function addslashes__recursive($var){
if (!
is_array($var))
return 
addslashes($var);
$new_var = array();
foreach (
$var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
return 
$new_var;
}
$_POST=addslashes__recursive($_POST);
$_GET=addslashes__recursive($_GET);
$_REQUEST=addslashes__recursive($_REQUEST);
$_SERVER=addslashes__recursive($_SERVER);
$_COOKIE=addslashes__recursive($_COOKIE);
?>






Redireccionar a HTTPS
Si nuestra web la tenemos normal con el 'HTTP' pero si queremos redireccionarlos automaticamente a HTTPS (necesitas un certificado) con esto lo puedes hacer:

Código (php) [Seleccionar]

<?php
if(!$_SERVER['HTTPS']== 'on'){
       
$nueva="https://"$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
       
header("Location: $nueva");
       exit();
    } 
?>






Mandar email con PHP
Enviar email con la función mail() de PHP.

Código (php) [Seleccionar]

<?php
//Ejemplo: send_mail("user@mail.com","cuerpo","asunto","demi@localhost","demi");

function send_mail($to$body$subject$fromaddress$fromname$attachments=false)
{
  
$eol="\r\n";
  
$mime_boundary=md5(time());

  
# Common Headers
  
$headers .= "From: ".$fromname."<".$fromaddress.">".$eol;
  
$headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;
  
$headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address
  
$headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
  
$headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters

  # Boundry for marking the split & Multitype Headers
  
$headers .= 'MIME-Version: 1.0'.$eol.$eol;
  
$headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;

  
# Open the first part of the mail
  
$msg "--".$mime_boundary.$eol;
 
  
$htmlalt_mime_boundary $mime_boundary."_htmlalt"//we must define a different MIME boundary for this section
  # Setup for text OR html -
  
$msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol;

  
# Text Version
  
$msg .= "--".$htmlalt_mime_boundary.$eol;
  
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
  
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  
$msg .= strip_tags(str_replace("<br>""\n"substr($body, (strpos($body"<body>")+6)))).$eol.$eol;

  
# HTML Version
  
$msg .= "--".$htmlalt_mime_boundary.$eol;
  
$msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
  
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  
$msg .= $body.$eol.$eol;

  
//close the html/plain text alternate portion
  
$msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol;

  if (
$attachments !== false)
  {
    for(
$i=0$i count($attachments); $i++)
    {
      if (
is_file($attachments[$i]["file"]))
      {  
        
# File for Attachment
        
$file_name substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));
       
        
$handle=fopen($attachments[$i]["file"], 'rb');
        
$f_contents=fread($handlefilesize($attachments[$i]["file"]));
        
$f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
        
$f_type=filetype($attachments[$i]["file"]);
        
fclose($handle);
       
        
# Attachment
        
$msg .= "--".$mime_boundary.$eol;
        
$msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;  // sometimes i have to send MS Word, use 'msword' instead of 'pdf'
        
$msg .= "Content-Transfer-Encoding: base64".$eol;
        
$msg .= "Content-Description: ".$file_name.$eol;
        
$msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol// !! This line needs TWO end of lines !! IMPORTANT !!
        
$msg .= $f_contents.$eol.$eol;
      }
    }
  }

  
# Finished
  
$msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eol's for better security. see Injection.
 
  # SEND THE EMAIL
  
ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !
  
$mail_sent mail($to$subject$msg$headers);
 
  
ini_restore(sendmail_from);
 
  return 
$mail_sent;
}
?>






Checar headers
Chequea si ya se enviaron cabeceras y en que parte.

Código (php) [Seleccionar]
<?php

// Si no se han enviado cabeceras, enviar una
if (!headers_sent()) {
    
header('Location: http://www.example.com/');
    exit;
}

// Un ejemplo del uso de las parametros opcionales archivo y linea, a
// partir de PHP 4.3.0.
// Note que $nombre_archivo y $num_linea son pasados para su uso posterior.
// No les asigne valores con anterioridad.
if (!headers_sent($nombre_archivo$num_linea)) {
    
header('Location: http://www.example.com/');
    exit;

// Probablemente quiera producir un error aqui.
} else {

    echo 
"Las cabeceras ya fueron enviadas en $nombre_archivo en la linea " .
         
"$num_linea\nNo es posible redireccionar, por ahora por favor " .
         
"pulse este <a href=\"http://www.example.com\">enlace</a> en su " .
         
"lugar\n";
    exit;
}

?>


Otros más:
Glosario de funciones
http://foro.elhacker.net/index.php/topic,65126.0.html
#986
Hola,

De forma local no tengo problemas pero de forma remota al ejecutar el archivo kontaktzgrabber.php (poniendo el correo - pass correcto) me manda a descargar el archivo, obviamente no viene de código php.

Esto a qué se debe?

Saludos
#987
Diseño Gráfico / Re: [Galeria de Promoción]
29 Marzo 2007, 23:27 PM
xD

Pues acabo de hacer un layout temporal de una web, a ver que les parece. http://checkyourmsn.com/

EDIT

Mejor lo pongo  ;D

#988
Cita de: hotmail_pop3 en 29 Marzo 2007, 16:23 PM
Cita de: Ing_Amc en 29 Marzo 2007, 02:19 AM
¬¬ cuanto puede pesar una carita? xD

0.73 KB y como veo que usan el "XD" habria unas 20 caritas por pagina de cada tema, eso serian unos 14.6 KB por pagina sumados.

Pero como yo uso 5.1 MB/s de conexión y no uso casi ninguna carita, me da igual :).

Solo se descarga una vez xD
#989
Cita de: Azielito en 29 Marzo 2007, 01:19 AM
Con los que hay es suficiente, si metes mas imagenes tardara mas en abrir lo que realmente importa: la infomracion

¬¬ cuanto puede pesar una carita? xD

Si, apoyo para que haya un 'xD'.
#990
Hola,

Veamos:


if ($subaction=="guardar")



<input type="Submit" value="Guardar">


Debería ser:

<input type="Submit" value="Guardar" name="guardar">


y afuera de if ($subaction=="guardar"):


$guardar=$_POST['guardar'];


Saludos