Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Vuelvo a tener problemas con el UPDATE

Estas en el tema de Vuelvo a tener problemas con el UPDATE en el foro de PHP en Foros del Web. Que tal gente, resulta que tengo un prblema, el otro dia abri un tema y me dijeron que me faltaba el get para obtener la ...
  #1 (permalink)  
Antiguo 26/03/2016, 10:04
 
Fecha de Ingreso: julio-2014
Ubicación: Montevideo
Mensajes: 78
Antigüedad: 9 años, 9 meses
Puntos: 2
Pregunta Vuelvo a tener problemas con el UPDATE

Que tal gente, resulta que tengo un prblema, el otro dia abri un tema y me dijeron que me faltaba el get para obtener la id del url ej. www.jose.com/index.php?id=1, pero ahora sigue sin hacer el update

Les explico como deberia funcionar el sistema

Yo el usuario con la ID 1 te envio ese enlace (www.jose.com/index.php?id=1) y tu al entrar te registras pero al registrarte a mi me acreditan 3 creditos, es un sistema de invitar amigos.

La primera parte comprueba que no exista el usuario
Luego inserta el usuario en la tabla de usuarios de la web
Y luego crea una cuenta en el foro SMF como pueden ver

Pero luego de esto deberia hacer un UPDATE a la id=1 en este caso para acreditarle los 3 creditos de regalo, esto es lo que nunca pasa. Se registra en la db y en el foro pero no me actualiza los creditos del id 1

Les dejo el codigo a ver si me pueden dar una manito

Código PHP:

$caracteres 
"1234567890"
$numerodeletras=10
$cadena ""//variable para almacenar la cadena generada
for($i=0;$i<$numerodeletras;$i++)
{
    
$cadena .= substr($caracteres,rand(0,strlen($caracteres)),1); 
}


if(!empty(
$_POST)){
    if(isset(
$_POST["nombre"]) &&isset($_POST["apellido"]) &&isset($_POST["genero"]) &&isset($_POST["email"]) &&isset($_POST["password"]) &&isset($_POST["confirm_password"])){
        if(
$_POST["nombre"].$_POST["apellido"]!=""&& $_POST["genero"]!=""&&$_POST["email"]!=""&&$_POST["password"]!=""&&$_POST["password"]==$_POST["confirm_password"]){
            include 
"../php/conexion.php";
            
            
$found=false;
            
$sql1"select * from cuenta where nombre=\"$_POST[nombre]_$_POST[apellido]\" or email=\"$_POST[email]\"";
            
$query $con->query($sql1);
            while (
$r=$query->fetch_array()) {
                
$found=true;
                break;
            }
            if(
$found){
                print 
"<script>alert(\"Nombre en uso o email ya registrado.\");window.location='../login.php';</script>";
                break;
            }
            
$sql "insert into cuenta(nombre,sex,email,password,registered,money,bank,level,pos_x,pos_y,pos_z,DNI) value (\"$_POST[nombre]_$_POST[apellido]\",\"$_POST[genero]\",\"$_POST[email]\",\"$_POST[password]\",NOW(),750,16000,1,1481.7340,-1743.4836,13.5469,".$cadena.")";
            
$query $con->query($sql);
            
            
$sql2 "insert into members(member_name,real_name,gender,email_address,passwd) value (\"$_POST[nombre]_$_POST[apellido]\",\"$_POST[nombre]_$_POST[apellido]\",\"$_POST[genero]\",\"$_POST[email]\",md5('$_POST[password]'))";
            
$query2 $con->query($sql2);
            
$id=$_GET['id'];
 
$sql3 "UPDATE cuenta SET creditos='3' where id='$id'";
     
$query3 $con->query($sql3);       

            if(
$query!=null){
                print 
"<script>alert(\"Registro exitoso. Proceda a ingresar\");window.location='se-pudo.html';</script>";
            }
        }
    }

__________________
¿Necesitas Hosting Web? - [JSFIDDLE="www.intechservers.com/hosting"]Intech Servers Hosting[/JSFIDDLE]
¿Necesitas Sitio Web? - [JSFIDDLE="www.intechservers.com/web"]Intech Servers Web[/JSFIDDLE]
  #2 (permalink)  
Antiguo 26/03/2016, 10:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Vuelvo a tener problemas con el UPDATE

Cita:
Pregunta Vuelvo a tener problemas con el UPDATE
Que tal gente, resulta que tengo un prblema, el otro dia abri un tema y me dijeron que me faltaba el get para obtener la id del url ej. www.jose.com/index.php?id=1, pero ahora sigue sin hacer el update

Les explico como deberia funcionar el sistema

Yo el usuario con la ID 1 te envio ese enlace (www.jose.com/index.php?id=1) y tu al entrar te registras pero al registrarte a mi me acreditan 3 creditos, es un sistema de invitar amigos.

La primera parte comprueba que no exista el usuario
Luego inserta el usuario en la tabla de usuarios de la web
Y luego crea una cuenta en el foro SMF como pueden ver

Pero luego de esto deberia hacer un UPDATE a la id=1 en este caso para acreditarle los 3 creditos de regalo, esto es lo que nunca pasa. Se registra en la db y en el foro pero no me actualiza los creditos del id 1
Ok... ¿Y verificaste que efectivamente esté entrando el dato ID?


Un simple:
Código PHP:
Ver original
  1. $sql3 = "UPDATE cuenta SET creditos='3' where id='$id'";
  2. echo $sql3;
puede mostrarte si el dato está llegando correctamente.

Lo mejor sería en realidad quitarle los apostrofos a los valores numéricos, porque de ese modo si el dato no llega dispara un error de sintaxis en la consulta, que siempre resulta más reveladora.
Código PHP:
Ver original
  1. $sql3 = "UPDATE cuenta SET creditos=3 where id=$id";

También tienes que tener en cuenta que no le estás agregando un valor, sino asignando, por lo que si el miembro ya tiene 3 créditos, seguirá con los 3 que ya tiene. Para que realmente agregue, debes sumarle los 3 al que ya posee el campo:

Código PHP:
Ver original
  1. $sql3 = "UPDATE cuenta SET creditos=creditos+3 where id=$id";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/03/2016, 11:53
 
Fecha de Ingreso: julio-2014
Ubicación: Montevideo
Mensajes: 78
Antigüedad: 9 años, 9 meses
Puntos: 2
Respuesta: Vuelvo a tener problemas con el UPDATE

Muchas gracias por tu respuesta, muy bien explicado. Te dejo +1.
Pero de todas formas sigue sin actualizar, intente como me dijiste y puse el echo en el alert y esto fue lo que salio, definitivamente la variable id no se esta mostrando por eso no se actualiza, tenes idea porque no se muestra id?

Te dejo la captura
__________________
¿Necesitas Hosting Web? - [JSFIDDLE="www.intechservers.com/hosting"]Intech Servers Hosting[/JSFIDDLE]
¿Necesitas Sitio Web? - [JSFIDDLE="www.intechservers.com/web"]Intech Servers Web[/JSFIDDLE]
  #4 (permalink)  
Antiguo 26/03/2016, 12:03
 
Fecha de Ingreso: julio-2014
Ubicación: Montevideo
Mensajes: 78
Antigüedad: 9 años, 9 meses
Puntos: 2
Respuesta: Vuelvo a tener problemas con el UPDATE

Tranquilos, ya lo pude lograr!! yo ponia el formulario html y el php en el mismo documento, ahora puse el formulario en uno, este obtiene la id por un GET y se la envia al validar.php por POST, usando un input HIDDEN les digo por si a alguien le pasa lo mismo, muchas gracias por la ayuda
__________________
¿Necesitas Hosting Web? - [JSFIDDLE="www.intechservers.com/hosting"]Intech Servers Hosting[/JSFIDDLE]
¿Necesitas Sitio Web? - [JSFIDDLE="www.intechservers.com/web"]Intech Servers Web[/JSFIDDLE]

Etiquetas: html, registro, select, sql, tabla, tener, update, usuarios, variable
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 16:40.