Foros del Web » Programando para Internet » PHP »

El update no me updata

Estas en el tema de El update no me updata en el foro de PHP en Foros del Web. miren este codigo: Código PHP: <link href="estilos.css" rel="stylesheet" type="text/css"> <?  $host = "localhost" ; $user = "ayuda_web" ; $pass = "xxxx" ; $data = "ayuda_web" ;     include( "conexiones/conex1.php" ...
  #1 (permalink)  
Antiguo 30/08/2003, 11:55
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
El update no me updata

miren este codigo:
Código PHP:
<link href="estilos.css" rel="stylesheet" type="text/css">
<? 
$host
="localhost";
$user="ayuda_web";
$pass="xxxx";
$data="ayuda_web";
    include(
"conexiones/conex1.php");
    
$link=Conectarse($host,$user,$pass,$data);

    
$query mysql_query("SELECT * FROM usuarios_pro1 WHERE nick='".$_COOKIE['login']."'");
    
$row mysql_fetch_array($query);
    
$countN mysql_num_rows($query);
    echo 
?>
 
<body bgcolor="#000000">
<form action="perfil.php?cam=cambia" method="post">
<table width="150" border="0"><tr><td>
  <table width="100%" border="0" cellspacing="0" class="bordes">
    <tr>
    <td height="50" background="fondo_for1.png"><div align="center"><font color="#FFCC00"><strong>Datos 
        obligatorios</strong></font></div></td>
  </tr>
</table>

  <table width="99%%" border="0" cellspacing="0" class="bordes">
    <tr> 
      <td><font color="#FFCC00">Nick:</font> </td>
      <td> <input type="text" maxlength="20" size="20" name="nick" class="boton2" value="<?= $row['nick']; ?>"></td>
    </tr>
    <tr> 
      <td><font color="#FFCC00">Contraseña:</font></td>
      <td><input type="password" maxlength="20" name="pass" class="boton2" value="<?= $row['pass'?>"> </td>
    </tr>
     <tr> 
      <td><font color="#FFCC00">Correo:</font></td>
      <td> 
        <input type="text" maxlength="50" name="mail" class="boton2" value="<?= $row['correo']; ?>"></td>
    </tr>
  </table>
  
  <table width="100%" border="0" cellspacing="0" class="bordes">
    <tr>
    <td height="50" background="fondo_for1.png"><div align="center"><font color="#FFCC00"><strong>Datos 
        personales</strong></font></div></td>
  </tr>
</table>


  <table width="99%%" border="0" cellspacing="0" class="bordes">
    <tr>
      <td width="44%"><font color="#FFCC00">Nombre:</font></td>
      <td width="56%"><input type="text" maxlength="30" name="nombre" class="boton2" value="<?= $row['nombre_real']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Apellidos:</font></td>
      <td><input type="text" maxlength="50" name="apellidos" class="boton2" value="<?= $row['apellidos']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Edad:</font></td>
      <td><input type="text" maxlength="2" name="edad" class="boton2" value="<?= $row['edad']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Ocupacion:</font></td>
      <td><input type="text" name="ocupa" maxlength="50"  class="boton2" value="<?= $row['ocupacion']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Localidad:</font></td>
      <td><input type="text" name="loca" maxlength="50" class="boton2" value="<?= $row['localidad']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Provincia:</font></td>
      <td><input type="text" name="provincia" maxlength="50" class="boton2" value="<?= $row['localidad']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">Pais: </font></td>
      <td><input type="text" name="pais" maxlength="20" class="boton2" value="<?= $row['provincia']; ?>"></td>
    </tr>
  </table>
        
  <table width="100%" border="0" cellspacing="0" class="bordes">
    <tr>
    <td height="50" background="fondo_for1.png"><div align="center"><font color="#FFCC00"><strong>Datos 
        de contacto opcional</strong></font></div></td>
  </tr>
</table>
                
  <table width="99%%" border="0" cellspacing="0" class="bordes">
    <tr>
      <td><font color="#FFCC00">MSN messenger:</font></td>
      <td><input type="text" name="msn" maxlength="50" class="boton2" value="<?= $row['msn']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">AOL :</font></td>
      <td><input type="text" name="AOL" maxlength="50" class="boton2" value="<?= $row['AOL']; ?>"></td>
    </tr>
    <tr>
      <td><font color="#FFCC00">ICQ:</font> </td>
      <td><input type="text" name="ICQ" maxlength="50" class="boton2" value="<?= $row['ICQ']; ?>"></td>
    </tr>
  </table>
  <table width="99%" border="0" cellspacing="0" class="bordes">
    <tr><td><div align="center">
          <input type="submit" value="Cambiar" align="middle" class="boton">    
          <input type="reset" value="Restablecer" class="boton">
        </div></td></tr>
  </table>
  </form></td></tr></table> 
            
             <? ;

//mysql_free_result($result);
switch($cam){
    case 
cambia:
    
$host="localhost";
$user="ayuda_web";
$pass="xxx";
$data="ayuda_web";
    include(
"conexiones/conex1.php");
    
$link=Conectarse($host,$user,$pass,$data);

    
$query mysql_query("SELECT * FROM usuarios_pro1 WHERE nick='".$_COOKIE['login']."'");
    
$row mysql_fetch_array($query);
    
$countN mysql_num_rows($query);
$sSQL="Update usuarios_pro1 Set nick='$nick' pass='$pass' nombre_real='$nombre' apellidos='$apellidos' edad='$edad' naci_dia='$dia' naci_mes='$mes' naci_año='$año' correo='$mail' msn='$msn' AOL='$aol' ICQ='icq' ocupacion='$ocupa' localidad='$loca' pais='$pais' provincia='$provincia'";
$sSQL .= "Where nick='".$_COOKIE['login']."'";
mysql_db_query($sSQL);

mysql_close($link);
break;}
    
    
?>
q problema tiene sq cuando le doy a enviar no me hace el update pero tampoco me sale el error unicamente no me updata
  #2 (permalink)  
Antiguo 30/08/2003, 12:41
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
Código PHP:
mysql_query("UPDATE $sql_tabla SET webname='$nombrenuevo', password='$passwordnuevo', email='$emailnuevo', date='$postdatenuevo', descripcion='$postdescripcionnuevo', weburl='$posturlnuevo', ipusr='$postipnuevo' WHERE id='$id'") or die(mysql_error()); 

comprueba la construccion del update
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 30/08/2003 a las 12:46
  #3 (permalink)  
Antiguo 30/08/2003, 12:52
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
tampoco funciona lo tegno asi:
Código PHP:
<?
......
......
......
mysql_query("Update usuarios_pro1 Set nick='$nick,' pass='$pass', nombre_real='$nombre', apellidos='$apellidos', edad='$edad', naci_dia='$dia', naci_mes='$mes', naci_año='$año', correo='$mail', msn='$msn', AOL='$aol' ICQ='icq', ocupacion='$ocupa', localidad='$loca' ,pais='$pais' ,provincia='$provincia' Where nick='".$_COOKIE['login']."'")or die(mysql_error());;

...
?>
  #4 (permalink)  
Antiguo 30/08/2003, 14:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Te da un mensaje de error? Por cierto no se si ha sido al copiar al foro, pero has puesto nick='$nick,', con la coma dentro del la cadena, cuando debe ir fuera.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 30/08/2003, 18:07
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
no me dsa ningun error lo unico q pasa sq no me updata
  #6 (permalink)  
Antiguo 30/08/2003, 18:40
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
No se , intenta
Poner if($HTTP_POST_VARS){

y pasar las variables con $_POST=['variable_del_form']

$nik=$_POST['nik'];
etc..

luego tu codigo final php para entrar los dtos en la tabla


espero que te sirva
  #7 (permalink)  
Antiguo 31/08/2003, 06:25
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
mirar ahora he cambiado una cossillas y se queda asi:
el formulario igual meno lo de abajo osea el mysql q lo he passado a otra pag:y la otra pag es asi:
Código PHP:
<?
$nick
=$_POST['nick'];
$passo=$_POST['pass'];
$correo=$_POST['mail'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$edad=$_POST['edad'];
$naci_dia=$_POST['naci_dia'];
$naci_mes=$_POST['naci_mes'];
$naci_año=$_POST['naci_año'];
$ocupacion=$_POST['ocupa'];
$localidad=$_POST['loca'];
$pais=$_POST['pais'];
$msn=$_POST['msn'];
$aol=$_POST['AOL'];
$provincia=$_POST['provincia'];
$icq=$_POST['ICQ'];



if( empty(
$nick)){
            
$error[]="Por favor pon un nick";
                        }
        if( empty(
$pass)){
            
$error[]="Por favor pon una contraseña";
                }
                    
        
         if (!
ereg("^[^@][email protected]([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$"$correo)) {
            
$error[] = "Tu e-mail no es valido";
        }
        if (empty(
$nombre)){
            
$nombre="_";
        }
        if(empty(
$apellidos)){
            
$apellidos="_";
            }
        if(empty(
$edad)){
            
$edad="_";
        }    
        if(empty(
$naci_dia) && empty($naci_mes) && empty($naci_año)){
            
$naci_dia="_";
            
$naci_mes="_";
            
$naci_año="_";
            }
            if(empty(
$ocupacion)){
                
$ocupacion="_";
                }
        if(empty(
$localidad)){
            
$localidad="_";
            }
            if(empty(
$pais)){
            
$pais="_";
            }
            if (empty(
$msn)){
            
$msn="_";
            }
            if (empty(
$AOL)){
            
$AOL="_";
            }
            if(empty(
$ICQ)){
            
$ICQ="_";
            }
            if (empty(
$provincia)){
            
$provincia="_";
            }
        if(
$error){
            for (
$i=0;$i<sizeof($error);$i++){
                echo 
$error[$i]."<br>";
                }}else{
                
$host="localhost";
$user="ayuda_web";
$pass="matblack";
$data="ayuda_web";
    include(
"conexiones/conex1.php");
    
$link=Conectarse($host,$user,$pass,$data);

    
$query mysql_query("SELECT * FROM usuarios_pro1 WHERE nick='".$_COOKIE['login']."'");
    
$row mysql_fetch_array($query);
    
$countN mysql_num_rows($query);
$sSQL="Update usuarios_pro1 Set nick='$nick', pass='$pass' ,nombre_real='$nombre' ,apellidos='$apellidos' ,edad='$edad', naci_dia='$dia', naci_mes='$mes' naci_año='$año' correo='$mail' msn='$msn' AOL='$aol' ICQ='icq' ocupacion='$ocupa' localidad='$loca' pais='$pais' provincia='$provincia' Where nick='".$_COOKIE['login']."'";

mysql_query("Update usuarios_pro1 Set nick='$nick', pass='$pass', nombre_real='$nombre', apellidos='$apellidos', edad='$edad', naci_dia='$dia', naci_mes='$mes', naci_año='$año', correo='$mail', msn='$msn', AOL='$aol' ICQ='$ICQ', ocupacion='$ocupacion', localidad='$localidad' ,pais='$pais' ,provincia='$provincia' Where nick='".$_COOKIE['login']."'")or die(mysql_error());;

mysql_close($link);

?>
<script language="JavaScript" type="text/javascript">
    window.close;</script>
    <? ?>
y al ejecuta el script me da esto:
Código:
You have an error in your SQL syntax near 'ICQ='_', ocupacion='_', localidad='_' ,pais='_' ,provincia='_' Where nick='Matdo' at line 1
el problema esta en el where porq al matdor le quita letras y no xq alguien me lo puede solucionar?
  #8 (permalink)  
Antiguo 31/08/2003, 06:41
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
Prueba a cambiar año por anyo , en los scripts no pongas letras que no sean del alfabeto ingles , ni acentos,
  #9 (permalink)  
Antiguo 31/08/2003, 06:47
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
De entrada en las vriables no pongas letras que no sean del alfabeto ingles ni acentos, espacios etc, cambia año por anyo,

y despues comprueba que $_COOKIE[ ], lo tengas puedes hacer un echo $_COOKIE[ ]; antes para ver si te sale esta variable,

A ver si te sirve

un saludo
  #10 (permalink)  
Antiguo 31/08/2003, 07:24
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
he cabiado año por anyo en todos los sitios y me pasa lo mismo
y el login si q esta porq para poder entrar a esa pag se necesita tenerlo sino no te deja entrar por favor ayuda!!
  #11 (permalink)  
Antiguo 31/08/2003, 07:57
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
La verdad solo soy un aficionado

pero a ver esto si te funciona
Código PHP:
$host="localhost";
$user="ayuda_web";
$pass="matblack";
$data="ayuda_web";

//de momento pasa de la funcion de conectarse

$conn mysql_connect($host,$user,$pass); 
mysql_select_db($data,$conn); 

mysql_query("Update usuarios_pro1 Set nick='$nick', pass='$pass', nombre_real='$nombre', apellidos='$apellidos', edad='$edad', naci_dia='$dia', naci_mes='$mes', naci_anyo='$anyo', correo='$mail', msn='$msn', AOL='$aol' ICQ='$ICQ', ocupacion='$ocupacion', localidad='$localidad' ,pais='$pais' ,provincia='$provincia' Where nick='".$_COOKIE['login']."'",$conn)or die(mysql_error());

//pongo la variable de conexion al mysql_query 
a ver si hay suerte
  #12 (permalink)  
Antiguo 31/08/2003, 17:18
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
tampoco me sirve y miren si pongo mas datos en el perfil osea relleno mas cosas el nick aun me sale menos osea , q si relleno la mitad de los campos en nick me sale nick='M'

px?
  #13 (permalink)  
Antiguo 31/08/2003, 17:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si sige dandote ese mensaje, veras que te dice que esta cerca de ICQ='$ICQ'. Para el cerca significa antes. Y si te fijas se te olvido la , entre AOL y ICQ.

Lo que te aparezca menos letras del nick en el mensaje de error sera porque MySQL solo sacara x caracteres despues del error.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 31/08/2003, 17:54
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 14 años, 5 meses
Puntos: 0
SI!!!

Si era asi muxisimas gracias a los dos
bien!!!!!!!!!!
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 22:35.