Foros del Web » Programando para Internet » PHP »

Nesecito ayuda con PHP y Paypal

Estas en el tema de Nesecito ayuda con PHP y Paypal en el foro de PHP en Foros del Web. hola a todos, primero les quisiera agradecer de ante mano, estoy hacien mi portal web y tengo casi todo listo esta escrito en PHP XHTM ...
  #1 (permalink)  
Antiguo 26/03/2010, 18:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 26
Antigüedad: 14 años, 7 meses
Puntos: 0
Nesecito ayuda con PHP y Paypal

hola a todos, primero les quisiera agradecer de ante mano, estoy hacien mi portal web y tengo casi todo listo esta escrito en PHP XHTM y Javascript, pero ahora estos haciendo un resgistro (para usuarios Premium, para esto lo que hago es pasarlos por tres paso):

1. Aqui en el paso i se hace un regustro basico: nombre, apellido, email, nick, (no password) en ves de la password se le asigna un numero aleatorio de la siguiente manera:

Código PHP:
<?php
$aleatorio 
rand(100,999);
?>
despues de este PHP en el formulario en el campo (CODE) pongo:
Código HTML:
<input type="Hidde" value="<? echo $aleatorio; ?>" name="CODE" > 
aqui les dejo el codigo completo del primer paso:
Código PHP:
<?php
require("../Connections/conexion.php");
if (!
function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "reg1")) {
  
$insertSQL sprintf("INSERT INTO premium_user (Nombre, Apellido, Email, Nick_P, codigo, Cuenta_paypal, Pais, Estado, Ciudad) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['apellido'], "text"),
                       
GetSQLValueString($_POST['email'], "text"),
                       
GetSQLValueString($_POST['nick'], "text"),
                       
GetSQLValueString($_POST['code'], "int"),
                       
GetSQLValueString($_POST['email_p'], "text"),
                       
GetSQLValueString($_POST['pais'], "text"),
                       
GetSQLValueString($_POST['depto'], "text"),
                       
GetSQLValueString($_POST['ciudad'], "text"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($insertSQL$conexion) or die(mysql_error());

  
$insertGoTo "index.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}

// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['nick'])) {
  
$loginUsername=$_POST['nick'];
 
$password2=  $_POST['pass'];
  
$password md5($password2);
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "#";
  
$MM_redirectLoginFailed "#";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_conexion$conexion);
  
  
$LoginRS__query=sprintf("SELECT nick, password FROM users WHERE nick=%s AND password=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$conexion) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
header("location: ../premium_register/comfirm.php");
?>
y el formulario:

Código HTML:
<form method="POST" action="<?php echo $editFormAction; ?>" name="reg1" id="reg1" >
<fieldset title="Datos personales" >
                  <h3>Datos personales:</h3>
                  <table width="381" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <th width="186" scope="col">&nbsp;</th>
<th width="195" scope="col">Datos</th>
                    </tr>
                    <tr>
                      <td>Nombre:</td>
                      <td><input name="nombre" type="text" class="textbox" id="nombre" maxlength="30" /></td>
                    </tr>
                    <tr>
                      <td>Apellido:</td>
                      <td><input name="apellido" type="text" class="textbox" id="apellido" maxlength="30" /></td>
                    </tr>
                    <tr>
                      <td>Email:</td>
                      <td><input name="email" type="text" class="textbox" id="email" maxlength="60" /></td>
                    </tr>
</table>
                  <p>&nbsp;</p>
</fieldset>
                  <fieldset>
                  <h3>Datos de la cuenta</h3>
                  <table width="381" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <th width="186" scope="col">&nbsp;</th>
<th width="195" scope="col">Datos</th>
                    </tr>
                    <tr>
                      <td>Nick*:</td>
                      <td><input name="nick" type="text" class="textbox"  id="nick" maxlength="30" /></td>
                    </tr>
<tr>
              <td>Password:              
              <input type="hidden" name="code" id="code" value="<?php $aleatorio = rand(100,9999); echo $aleatorio; ?>" /></td>
              <td>Al final del proceso configura el password</td>
              </tr>
                  </table>
                  <p>Su cuenta caducara en 90 Dias... (Para volver a utilizarla Tienes que volverte a registrar)</p>
                  </fieldset>
                  <fieldset>
                  <h3>Datos de recupereo y contrato</h3>
                  <table width="381" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <th  width="186" scope="col">&nbsp;</th>
<th  width="195" scope="col">Datos</th>
                      </tr>
                      <tr>
                        .... aqui hay mas codigo pero es muy largo
				  <input type="hidden" name="MM_insert" value="reg1" />
</form> 
luego al terminar ese paso, los datos que el registrante introdujo son introdicidos a la base de datos de alli es pasado al paso 2:

2. paso dos, pago en PayPal, aqui el usuario paga la suscripcion en un pago estandar es decir el usuario es redirigido a PayPal a completar el proseso de pago al finalizar dicho proseso el usuario es redirigido a mi pagina de finalizacion

(esta la estoy construllendo)

aqui en la pagina de finalizacion el usuario introduce el nick y le da a un submit el que le envia un correo electronico con el codigo del primer paso, ese codigo se le pide al usuario junto a el nick para entrar a una pagina la cual hace un UPDATE en la tabla user_premum de la DB y en dicha pagina el usuario introduce una nueva contraceña para entrar a la seccion premium, ahora vienen mis preguntas:


el sistema tiene un grave problema, es que paypal no redirige automaticamente a los usuarios a la pagina de finalizacion sino que les muestra un pequeño link
¿en ese caso como hago para que mis usuarios vean el link o sean redirigidos?

otra cosa es que como el INSERT se hace al principio del proseso, si el usuario en algun momento Cancela el proceso de suscripcion lo que pasaria es que igual no pagara recibiria el EMAIL con el codigo de activacion y el nick, entonces podra entrar sin tener que pagar la suscripcion, mi pregunta aqui es que si PayPal no tiene algun codigo o algo para que me genere un codigo aleatorio y envie dicho codigo al email del comprador, pero que dicho codigo tamabien se agree a mi DB

y la ultima seria: que problemas ven en mi metodo o si tienen algun mejormetodo y lo prodrian compartir con migo...

gracias

Att King95
  #2 (permalink)  
Antiguo 19/08/2010, 14:35
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Nesecito ayuda con PHP y Paypal

king95, aún seguís necesitando ayuda con esto?
  #3 (permalink)  
Antiguo 19/08/2010, 15:54
 
Fecha de Ingreso: agosto-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Nesecito ayuda con PHP y Paypal

Si queres Contactarme por PM te doy una mano con lo que es Paypal...

obviamente estaras haciendo tus tests con sandbox... una buena... de hecho la mejor forma de integrar con paypal... y Mucho mas si son servicios de subscripciones y usar IPN (instant Payment network) que funciona de forma asincronica...... y bueh.. un monton de detalles tecnicos que te encontraras...


Aunque ahora estoy viendo que el thread es viejo... MUAJAJA... bueh cualquier cosa que necesiten de paypal chiflen..

Etiquetas: insert, paypal, phpypaypal, formulario, bases-de-datos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:21.