Foros del Web » Programando para Internet » PHP »

Ayuda en PHP

Estas en el tema de Ayuda en PHP en el foro de PHP en Foros del Web. Hola a todos : Estoy aprendiendo php y tengo un problema con insertar un dato a la base de datos aqui va el codigo para ...
  #1 (permalink)  
Antiguo 12/05/2004, 14:58
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Ayuda en PHP

Hola a todos :

Estoy aprendiendo php y tengo un problema con insertar un dato a la base de datos

aqui va el codigo para que alguien me pueda decir en que estoy fallando

<html>
<body bgcolor="#5F7BA9">
<?
include("config.php") ;
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$email= quitar($email) ;
$rut=quitar($rut);
$nombre=quitar($ciudad);
$telefono=quitar($telefono) ;
$empresa=quitar($empresa) ;
$titulo=quitar($titulo);
$nombre=quitar($lugardeestudio);


// Comprobar que el usuario existe en la base de datos
$resp = mysql_query("select id from usuarios where nick='$nick' or email='$email'") ;
if(mysql_num_rows($resp) != 0) {
echo "Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
else {
$fecha = time() ;
$contrasena = quitar($contrasena) ;
$ip = $REMOTE_ADDR ;
$consulta = "insert into usuarios values ('','$fecha','$nick','$contrasena','$email','$pais ','','$ip','$rut','$nombre','$ciudad','$telefono', '$empresa','$titulo',0,'$lugardeestudio')";
$query = mysql_query($consulta) or die ("error ".mysql_error());

echo "Has sido registrado con éxito. Haz click <a href=index.php>aquí</a> para ir a la página principal." ;
}
}
else {
?>
<p>Los datos marcados con un asterisco (*) son obligatorios.
<script>
function revisar() {
if(formulario.nick.value.length < 3) { alert('El nick debe contener por lo mínimo 3 caractéres') ; return false ; }
if(formulario.contrasena.value.length < 5) { alert('La contraseña debe contener por lo mínimo 5 caractéres') ; return false ; }
if(formulario.email.value.length == 0) { alert('Debes poner un email válido') ; return false ; }
}
</script>
<p>&nbsp;
<p>&nbsp;
<form name="formulario" method="post" action="uregistrar.php" onsubmit="return revisar()">
<div align="center">
<table width="641" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="124" height="39">&nbsp;</td>
<td colspan="2" valign="top"><p align="right"><b>* Nick:</b>
<input type="text" name="nick" maxlength="20">
</p></td>
<td width="3">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Contraseña:</b>
<input type="password" name="contrasena" maxlength="20">
</div></td>
<td width="46">&nbsp;</td>
</tr>
<tr>
<td height="44">&nbsp;</td>
<td colspan="2" valign="top"> <b>* Email:</b> <input type="text" name="email" maxlength="40">
</td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Pais:</b>
<input type="text" name="pais" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="43">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Rut:</b>
<input type="text" name="rut" maxlength="13">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Nombre:</b>
<input type="text" name="nombre" maxlength="100">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="48">&nbsp;</td>
<td colspan="2" valign="top"> <div align="right"><b> Ciudad:</b>
<input type="text" name="ciudad" maxlength="100">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Telefono:</b>
<input type="text" name="telefono" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Empresa:</b>
<input name="empresa" type="text" size="15" maxlength="35">
<br>
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Titulo:</b>
<input type="text" name="titulo" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40"></td>
<td width="72"></td>
<td colspan="3" valign=?~"top"><div align="center"><b>* Lugar de Estudio:</b>
<input type="text" name="lugardeestudio" maxlength="40">
<br>
</div></td>
<td width="106">&nbsp;</td>
<td></td>
</tr>
<tr>
<td height="13"></td>
<td></td>
<td width="133"></td>
<td></td>
<td width="157"></td>
<td></td>
<td></td>
</tr>
</table>

<input type="submit" name="registrar" value="Registrar">
</p>
</div>
</form>
<?
}
mysql_close($conectar) ;
?>

</body>
<html>

Saludos-

Zack.
  #2 (permalink)  
Antiguo 12/05/2004, 15:45
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
haber por lo que yo se eso tiene que ser haci

Insert INTO Usuario (TODOS LOS CAMPOS DE TU USUARIO) VALUE('','$fecha','$nick','$contrasena','$email',
'$pais','','$ip','$rut','$nombre','$ciudad',
'$telefono','$empresa','$titulo',0,
'$lugardeestudio')";


haci te llenara la base de datos a tambien eso tiene que ir en el mismo horden que lo tengas en la base de datos

Hojala que sea eso

Última edición por Bizo21; 12/05/2004 a las 15:47
  #3 (permalink)  
Antiguo 13/05/2004, 08:22
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Gracias , sabes que lo hize como tu me dijiste pero aun no puedo ingresar como corresponde

esta es el nuevo codigo:

<html>
<body bgcolor="#5F7BA9">
<?
include("config.php") ;
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$email= quitar($email) ;
$rut=quitar($rut);
$nombre=quitar($ciudad);
$telefono=quitar($telefono) ;
$empresa=quitar($empresa) ;
$titulo=quitar($titulo);
$nombre=quitar($lugardeestudio);


// Comprobar que el usuario existe en la base de datos
$resp = mysql_query("select id from usuarios where nick='$nick' or email='$email'") ;
if(mysql_num_rows($resp) != 0) {
echo "Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
else {
$fecha = time() ;
$contrasena = quitar($contrasena) ;
$ip = $REMOTE_ADDR ;
$consulta = "insert into usuarios(fecha , nick , contrasena , email , pais,descripcion,ip,rut,nombre,ciudad,telefono,emp resa,titulo,nivel,lugar) values ('$fecha','$nick','$contrasena','$email','$pais',' $descripcion','$ip','$rut','$nombre','$ciudad','$t elefono','$empresa','$titulo','$nivel','$lugar')";


echo "Has sido registrado con éxito. Haz click <a href=index.php>aquí</a> para ir a la página principal." ;
}
}
else {
?>
<p>Los datos marcados con un asterisco (*) son obligatorios.
<script>
function revisar() {
if(formulario.nick.value.length < 3) { alert('El nick debe contener por lo mínimo 3 caractéres') ; return false ; }
if(formulario.contrasena.value.length < 5) { alert('La contraseña debe contener por lo mínimo 5 caractéres') ; return false ; }
if(formulario.email.value.length == 0) { alert('Debes poner un email válido') ; return false ; }
}
</script>
<p>&nbsp;
<p>&nbsp;
<form name="formulario" method="post" action="uregistrar.php" onsubmit="return revisar()">
<div align="center">
<table width="641" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="124" height="39">&nbsp;</td>
<td colspan="2" valign="top"><p align="right"><b>* Nick:</b>
<input type="text" name="nick" maxlength="20">
</p></td>
<td width="3">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Contraseña:</b>
<input type="password" name="contrasena" maxlength="20">
</div></td>
<td width="46">&nbsp;</td>
</tr>
<tr>
<td height="44">&nbsp;</td>
<td colspan="2" valign="top"> <b>* Email:</b> <input type="text" name="email" maxlength="40">
</td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Pais:</b>
<input type="text" name="pais" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="43">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Rut:</b>
<input type="text" name="rut" maxlength="13">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Nombre:</b>
<input type="text" name="nombre" maxlength="100">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="48">&nbsp;</td>
<td colspan="2" valign="top"> <div align="right"><b> Ciudad:</b>
<input type="text" name="ciudad" maxlength="100">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Telefono:</b>
<input type="text" name="telefono" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Empresa:</b>
<input name="empresa" type="text" size="15" maxlength="35">
<br>
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Titulo:</b>
<input type="text" name="titulo" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40"></td>
<td width="72"></td>
<td colspan="3" valign=?~"top"><div align="center"><b>* Lugar de Estudio:</b>
<input type="text" name="lugardeestudio" maxlength="40">
<br>
</div></td>
<td width="106">&nbsp;</td>
<td></td>
</tr>
<tr>
<td height="13"></td>
<td></td>
<td width="133"></td>
<td></td>
<td width="157"></td>
<td></td>
<td></td>
</tr>
</table>

<input type="submit" name="registrar" value="Registrar">
</p>
</div>
</form>
<?
}
mysql_close($conectar) ;
?>

</body>
<html>
  #4 (permalink)  
Antiguo 13/05/2004, 08:44
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Busqueda me sale este error

error Unknown column 'rut' in 'field list'
  #5 (permalink)  
Antiguo 13/05/2004, 09:49
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
y solucionaste tu problema....
ese error dice que en la columna RUT no se encuentra en la lista (meparese)..

oye otra cosa tu INSERT lo probaste en tu base de datos, ve primero si ingresa tu insert hacia con sus campos y donde tienen por ejemplo $rut
colocale el rut...

Última edición por Bizo21; 13/05/2004 a las 09:52
  #6 (permalink)  
Antiguo 13/05/2004, 10:15
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
No entendi

¿ Donde tengo que probar el insert? , no he podido solucionar mi problema soluciono eso y va a marchar mejor el sistema
  #7 (permalink)  
Antiguo 13/05/2004, 10:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Sonrisa ahora entendi

Lo voy a probar y te cuento que paso
  #8 (permalink)  
Antiguo 13/05/2004, 10:49
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
este fue el resutado

INSERT INTO usuarios( fecha, nick, contrasena, email, pais, descripcion, ip, rut, nombre, ciudad, telefono, empresa, titulo, nivel, lugar ) VALUES ( '10', 'rebeca', 'rfox', '[email protected]', 'Chile', ' simpatica', '5515706-5', '5555555', ' rebeca', 'conce', '739693', 'duoc', 'analista', 0, 'Sto Tomas'
)

MySQL ha dicho:
#1054 - Unknown column 'lugar' in 'field list'

  #9 (permalink)  
Antiguo 13/05/2004, 10:58
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
A primera vista, a mí me parece que tu código no conecta a la Base de Datos.

He visto que cierras al final la conexión, pero no he visto (puede que esté y yo no lo vea) que te conectes.

Saludos
  #10 (permalink)  
Antiguo 13/05/2004, 11:17
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta no lo he podido solucionar

Hola , la verdad es que si esta a traves del archivo include("config") , ademas he probado la consulta

saludos.

zack.
  #11 (permalink)  
Antiguo 13/05/2004, 11:49
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
tu tienes alguno autoincrementable, tambien puede ser ese 0 que esta sin '' comillas simple
  #12 (permalink)  
Antiguo 13/05/2004, 12:11
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
hola de nuevo , la verdad es que todavia no me resulta , he probado de todas las formas y me sigue saliendo el mismo error

error Unknown column 'rut' in 'field list'

ademas hice la consulta y supuestamente me guarda el rut y no me envia los datos a la base

gracias por responderme y tratar de ayudarme.

zack.
  #13 (permalink)  
Antiguo 13/05/2004, 12:44
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
hola pero cuando probaste la consulta directamente a la base de datos Ingreso los datos en ella...
  #14 (permalink)  
Antiguo 13/05/2004, 13:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta

no me ingresa , me sale que no existe Lugar, despues la probe de nuevo e ingreso uno ,pero ahora estoy mostrando las variables y segun eso las capturas pero no la envia a la base de datos

Dice que los datos han sido enviado con exito pero sin embargo no los envia a la bdd.
<html>
<body bgcolor="#5F7BA9">
<?
include("config.php") ;
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$email= quitar($email) ;
$rut=quitar($rut);
$nombre=quitar($nombre);
$telefono=quitar($telefono) ;
$empresa=quitar($empresa) ;
$titulo=quitar($titulo);
$Lugar=quitar($Lugar);


// Comprobar que el usuario existe en la base de datos
$resp = mysql_query("select id from usuarios where nick='$nick' or email='$email'") ;
if(mysql_num_rows($resp) != 0) {
echo "Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
else {
$fecha = time() ;
//$contrasena = quitar($contrasena) ;
$ip = $REMOTE_ADDR ;
$consulta =
"insert into usuarios
(fecha,nick,contrasena,email,pais,ip,rut,nombre,ci udad,telefono,empresa,titulo,nivel,Lugar) values
('$fecha','$nick','$contrasena','$email','$pais',' $ip','$rut','$nombre','$ciudad','$telefono','$empr esa','$titulo','$nivel','$Lugar')";
$query = mysql_query($consulta);// or die ("error ".mysql_error());

echo $fecha.' '.$nick.' '.$contrasena.' '.$email.' '.$pais.' '.$ip.' '.$rut.' '.$nombre.' '.$ciudad.' '.$telefono.' '.$empresa.' '.$titulo.' '.$nivel.' '.$Lugar;

echo "Has sido registrado con éxito. Haz click <a href=index.php>aquí</a> para ir a la página principal." ;
}
}
else {
?>
<p>Los datos marcados con un asterisco (*) son obligatorios.
<script>
function revisar() {
if(formulario.nick.value.length < 3) { alert('El nick debe contener por lo mínimo 3 caractéres') ; return false ; }
if(formulario.contrasena.value.length < 5) { alert('La contraseña debe contener por lo mínimo 5 caractéres') ; return false ; }
if(formulario.email.value.length == 0) { alert('Debes poner un email válido') ; return false ; }
}
</script>
<p>&nbsp;
<p>&nbsp;
<form name="formulario" method="post" action="uregistrar.php">
<?
// onsubmit="return revisar()">
?>
<div align="center">
<table width="641" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="124" height="39">&nbsp;</td>
<td colspan="2" valign="top"><p align="right"><b>* Nick:</b>
<input type="text" name="nick" maxlength="20">
</p></td>
<td width="3">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Contraseña:</b>
<input type="password" name="contrasena" maxlength="20">
</div></td>
<td width="46">&nbsp;</td>
</tr>
<tr>
<td height="44">&nbsp;</td>
<td colspan="2" valign="top"> <b>* Email:</b> <input type="text" name="email" maxlength="40">
</td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Pais:</b>
<input type="text" name="pais" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="43">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Rut:</b>
<input type="text" name="rut" maxlength="13">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Nombre:</b>
<input type="text" name="nombre" maxlength="100">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="48">&nbsp;</td>
<td colspan="2" valign="top"> <div align="right"><b> Ciudad:</b>
<input type="text" name="ciudad" maxlength="100">
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Telefono:</b>
<input type="text" name="telefono" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40">&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Empresa:</b>
<input name="empresa" type="text" size="15" maxlength="35">
<br>
</div></td>
<td>&nbsp;</td>
<td colspan="2" valign="top"><div align="right"><b>* Titulo:</b>
<input type="text" name="titulo" maxlength="40">
</div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="40"></td>
<td width="72"></td>
<td colspan="3" valign=?~"top"><div align="center"><b>* Lugar de Estudio:</b>
<input type="text" name="Lugar" maxlength="40">
<br>
</div></td>
<td width="106">&nbsp;</td>
<td></td>
</tr>
<tr>
<td height="13"></td>
<td></td>
<td width="133"></td>
<td></td>
<td width="157"></td>
<td></td>
<td></td>
</tr>
</table>

<input type="submit" name="registrar" value="registrar">
</p>
</div>
</form>
<?
}
mysql_close($conectar) ;
?>
</body>
<html>

Ahora ese error no me sale pero no graba los datos
  #15 (permalink)  
Antiguo 13/05/2004, 15:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Gracias

Gracias a todos los que me dieron una respuesta para tratar de solucionar mi problema , ya se cual es el error y lo corregi
  #16 (permalink)  
Antiguo 13/05/2004, 18:32
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
cual era el error.......
  #17 (permalink)  
Antiguo 14/05/2004, 07:56
 
Fecha de Ingreso: mayo-2004
Mensajes: 195
Antigüedad: 13 años, 7 meses
Puntos: 0
Lo que pasa en que mi bd puse nivel que no fuera nulo y nunca le estaba enviando ese dato por eso que no ingresaba correctamente
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 21:24.