Foros del Web » Programando para Internet » PHP »

Suscripcion de usuarios a una base de datos

Estas en el tema de Suscripcion de usuarios a una base de datos en el foro de PHP en Foros del Web. Hola amigos tengo una consulta, estoy haciendo una suscripcion que debe enviar a la db el nombre, un email y seleccionar una ciudad Aca el ...
  #1 (permalink)  
Antiguo 07/02/2011, 22:09
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Suscripcion de usuarios a una base de datos

Hola amigos tengo una consulta,

estoy haciendo una suscripcion que debe enviar a la db el nombre, un email y seleccionar una ciudad

Aca el formulario
Código PHP:
<form id="enter-address-form" action="/subscribe.php" method="post" class="validator">
                        <
div class="mail">
                            <
label>
                              
Nombre:        
                                <
input type="text" size="20" name="nombre" id="signup-nombre" class="f-input" value="{$_POST['nombre']}" datatype="limit|ajax" require="true" min="2" max="50" maxLength="50" url="${WEB_ROOT}/ajax/validator.php" vname="nombre" msg="|" />
                                <
br>
                            
Ingrese su email: </label>
                            <
input id="enter-address-mail" name="email" class="f-input f-mail" type="text" value="{$login_user['email']}" size="20" require="true" datatype="email" />
                            <
span class="tip">(No te preocupestu correo electr&oacute;nico est&aacuteseguro con nosotros!)</span>
                        </
div><br>
                        <
div class="city">
                            <
label>&nbsp;</label>
                          <
select name="city_id" class="f-city">${Utility::Option(Utility::OptionArray($hotcities'id''name'), $city['id'])}</select>
                            <
input id="enter-address-commit" type="submit" class="formbutton" value="Suscribase" />
                        </
div>
                        </
form
Aca la funcion php que envia los datos
Código PHP:
<?php
require_once(dirname(__FILE__) . '/app.php');

$tip strval($_GET['tip']);

if ( 
$_POST ) {
    
$city_id abs(intval($_POST['city_id']));
    
ZSubscribe::Create($_POST['email'], $city_id);
    
ZSubscribe::Create($_POST['nombre'], $city_id);
    
cookie_city$city Table::Fetch('category'$city_id));
    die(include 
template('subscribe_success'));
}

$pagetitle 'Mail subscription';
include 
template('subscribe');
envio el form oero en la db solo me aprece el email y la ciudad
el nombre me sale null
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/
  #2 (permalink)  
Antiguo 07/02/2011, 22:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Suscripcion de usuarios a una base de datos

Prueba hacer un var_dump($_POST) y verifica que datos llegan.

Saludos.
  #3 (permalink)  
Antiguo 07/02/2011, 22:54
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Suscripcion de usuarios a una base de datos

Código PHP:
<?php

$_POST
['nombre'] = 'n';
var_dump($_POST); // Element 'bar' is string(1) "b"
?>
no se si te aya entendido

este es el resultado

array(1) { ["nombre"]=> string(1) "n" }

ala db solo esta entrando el email y la ciudad, necesito corregir la funcion que llena el campo de nombre o crear una funcion nueva que luego pueda consultar desde la lista de suscriptores
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/
  #4 (permalink)  
Antiguo 08/02/2011, 01:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Suscripcion de usuarios a una base de datos

Deberías poner el código de ZSubscribe::Create, así se puede saber que hace esa función.
  #5 (permalink)  
Antiguo 08/02/2011, 08:04
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Suscripcion de usuarios a una base de datos

Revisando el ZSubscribe encuentro que se me ha olvidado incluir el array 'nombre' => $nombre, voy a hacer la prueba, ahora no se si cuando el usaurio se desuscriba la sintaxis que tengo elimine de la db el nombre del usuario y el email
Código PHP:
<?php
class ZSubscribe
{
    static public function 
Create($email$city_id
    {
        if (!
Utility::ValidEmail($emailtrue)) return;
        
$secret md5($email $city_id);
        
$table = new Table('subscribe', array(
                    
'email' => $email,
                    
'nombre' => $nombre,
                    
'city_id' => $city_id,
                    
'secret' => $secret,
                    ));
        
Table::Delete('subscribe'$email'email');
        return 
$table->insert(array('email''nombre','city_id''secret'));
    }

    static public function 
Unsubscribe($subscribe) {
        
Table::Delete('subscribe'$subscribe['email'], 'email');
        
Table::Delete('subscribe'$subscribe['nombre'], 'nombre');
    }
}
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/
  #6 (permalink)  
Antiguo 08/02/2011, 09:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Suscripcion de usuarios a una base de datos

Creo tienes un error, en ese método solo usas la variable $email, nunca estas pasandole a tu función la variable $nombre.

Saludos.
  #7 (permalink)  
Antiguo 08/02/2011, 11:00
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Suscripcion de usuarios a una base de datos

Pueden ustedes ayudarme con esta sintaxis

aca la funcion qu eestoy usando con us variables

Código PHP:
<?php
class ZSubscribe
{
    static public function 
Create($email$city_id$nombre
    {
        if (!
Utility::ValidEmail($emailtrue)) return;
        
$secret md5($email $city_id);
        
$table = new Table('subscribe', array(
                    
'email' => $email,
                    
'nombre' => $nombre,
                    
'city_id' => $city_id,
                    
'secret' => $secret,
                    ));
        
Table::Delete('subscribe'$email'email'$nombre'nombre');
        return 
$table->insert(array('email''nombre','city_id''secret'));
    }

    static public function 
Unsubscribe($subscribe) {
        
Table::Delete('subscribe'$subscribe['email'], 'email'$subscribe['nombre'], 'nombre' );
            }
}
Aca esta el formulario que recoge los datos:
Código PHP:
<form id="enter-address-form" action="/subscribe.php" method="post" class="validator">
                        <
div class="mail">
                            <
label>
                              
Nombre:        
                                <
input type="text" size="20" name="nombre" id="signup-nombre" class="f-input" value="{$_POST['nombre']}" datatype="limit|ajax" require="true" min="2" max="50" maxLength="50" url="${WEB_ROOT}/ajax/validator.php" vname="nombre" msg="|" />
                                <
br>
                            
Ingrese su email: </label>
                            <
input id="enter-address-mail" name="email" class="f-input f-mail" type="text" value="{$login_user['email']}" size="20" require="true" datatype="email" />
                            <
span class="tip">(No te preocupestu correo electr&oacute;nico est&aacuteseguro con nosotros!)</span>
                        </
div><br>
                        <
div class="city">
                            <
label>&nbsp;</label>
                          <
select name="city_id" class="f-city">${Utility::Option(Utility::OptionArray($hotcities'id''name'), $city['id'])}</select>
                            <
input id="enter-address-commit" type="submit" class="formbutton" value="Suscribase" />
                        </
div>
                        </
form
Aca la funcion que los envia
Código PHP:
<?php
require_once(dirname(__FILE__) . '/app.php');

$tip strval($_GET['tip']);

if ( 
$_POST ) {
    
$city_id abs(intval($_POST['city_id']));
    
ZSubscribe::Create($_POST['email'], $city_id);
    
ZSubscribe::Create($_POST['nombre'], $city_id);
    
cookie_city$city Table::Fetch('category'$city_id));
    die(include 
template('subscribe_success'));
}

$pagetitle 'Mail subscription';
include 
template('subscribe');
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/
  #8 (permalink)  
Antiguo 08/02/2011, 11:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Suscripcion de usuarios a una base de datos

Con la modificación que hiciste deberías de mandar llamar así tu función:
ZSubscribe::Create($_POST['email'], $city_id, $_POST['nombre']);

No dos veces con diferentes datos.
  #9 (permalink)  
Antiguo 08/02/2011, 14:00
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Suscripcion de usuarios a una base de datos

Amigos Gracias, ya mi sitio envia la suscripcion con nombre email y ciudad

Y ya lo muestra en el backend gracias....
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/
  #10 (permalink)  
Antiguo 08/02/2011, 22:59
Avatar de Hamn  
Fecha de Ingreso: marzo-2008
Ubicación: Cali-Colombia
Mensajes: 212
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Suscripcion de usuarios a una base de datos

Amigos es posible que con las funciones descritas anteriormente este me envie un email confirmando los datos del suscriptor, ya sea usando el php mail o el smtp.
__________________
De que vale la vida si cuando la tenemos parece estar muerta.

http://www.somoscali.com/

Etiquetas: suscripcion, usuarios
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 23:47.