Foros del Web » Programando para Internet » PHP »

Programa en php

Estas en el tema de Programa en php en el foro de PHP en Foros del Web. Hola a todos. Verán necesito programar un php para mi página. Lo que debe hacer es una vez comprobado el cobro de paypal, generar un ...
  #1 (permalink)  
Antiguo 16/04/2011, 09:52
 
Fecha de Ingreso: junio-2010
Mensajes: 38
Antigüedad: 13 años, 10 meses
Puntos: 0
Programa en php

Hola a todos. Verán necesito programar un php para mi página.

Lo que debe hacer es una vez comprobado el cobro de paypal, generar un codigo al azar(que se enviará al email del comprador ) para que con ese codigo se puedan descargar una serie de canciones que están hospedadas.

Esto es lo que he conseguido hasta el momento.

Pueden exarme una mano por favor?



Código PHP:
<?php
function write2LogFile$message$file "mylog.txt" ) { $file fopen($file"a"); fputs($file"[".date('d-m-Y')."> ".$message."\n"); fclose($file); }
$req 'cmd=_notify-validate';
foreach (
$_POST as $key => $value)
{
$value urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " strlen($req) . "\r\n\r\n";
$fp fsockopen ('www.paypal.com'80$errno$errstr30);
if (!
$fp) {
write2LogFile"ERROR Can not connect to paypal!" );
}
else
{
fputs ($fp$header $req);
while (!
feof($fp))
{
$res fgets ($fp1024);
if (
strcmp ($res"VERIFIED") == 0)
{
$payment_status $_POST['payment_status'];
$transaction_id $_POST['txn_id'];
$payer_email $_POST['payer_email'] );
$custom_field $_POST['custom'];

if ( 
$payment_status == 'Completed' )
{
// Enviar link al email
}
else if ( 
$payment_status == 'Canceled_Reversal' )
{
// No enviar link
}
}
}
fclose ($fp);
}
?>
  #2 (permalink)  
Antiguo 16/04/2011, 12:49
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Programa en php

Una mano con que? Te da algun error? Explica mejor tu problema
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 18/04/2011, 09:40
 
Fecha de Ingreso: junio-2010
Mensajes: 38
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Programa en php

Pues basicamenten no se como seguir, ni como crear el codigo al azar que se guarde, y que se envie.
  #4 (permalink)  
Antiguo 18/04/2011, 09:46
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Programa en php

Con esta funcion podes crear un codigo aleatorio... entonces lo unico que tenes que hacer es almacenar ese codigo en tu base de datos y despues enviarlo al usuario para que el lo ingrese donde quieras:

Código PHP:
Ver original
  1. function RandomString($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE)
  2. {
  3.     $source = 'abcdefghijklmnopqrstuvwxyz';
  4.     if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  5.     if($n==1) $source .= '1234567890';
  6.     if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
  7.     if($length>0){
  8.         $rstr = "";
  9.         $source = str_split($source,1);
  10.         for($i=1; $i<=$length; $i++){
  11.             mt_srand((double)microtime() * 1000000);
  12.             $num = mt_rand(1,count($source));
  13.             $rstr .= $source[$num-1];
  14.         }
  15.  
  16.     }
  17.     return $rstr;
  18. }

Con $length le colocas el numero de caracteres que quieres que genere en este momento esta en 10.

Con $uc colocas que también genere MAYÚSCULAS.

Con $n aceptas que también utilice números en el código.

y con $sc activas que se coloquen símbolos en el código.

Espero te sirva.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: programa
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 14:17.