Foros del Web » Programando para Internet » PHP »

Problema con php y mysql

Estas en el tema de Problema con php y mysql en el foro de PHP en Foros del Web. Buenas a todos, necesito la ayuda de alguno de uds, tengo un pequeño gran problema con esto de php y mysql. Resulta que soy algo ...
  #1 (permalink)  
Antiguo 07/07/2010, 12:56
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Problema con php y mysql

Buenas a todos, necesito la ayuda de alguno de uds, tengo un pequeño gran problema con esto de php y mysql. Resulta que soy algo nuevo en esto de php y en este momento estoy haciendo una web, bueno estoy probando mysql con una bd de una sola tabla para ver como trabaja e hice un form y mando a ingresar los datos en la tabla pero para mi sorpresa no se guardan en la bd ni tampoco me da error alguno. no se si estoy teniendo un error pero logico o si hay que configurar algo con mysql y el wampserver. gracias de antemano.
  #2 (permalink)  
Antiguo 07/07/2010, 13:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema con php y mysql

Postea lo que hayas hecho.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/07/2010, 14:11
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con php y mysql

hola, gracias por responder a mi msj, tengo un archivo donde esta la funcion para conectarse el cual se llama conexion.php
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","jahcoto","poll ito")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("prueba",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?><?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","jahcoto","poll ito")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("prueba",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

y otro archivo donde hago la insercion de datos el cual se llama procesa.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$loggin = $_POST['loggin'];
$pass = $_POST['password'];
include("conexion.php");
$link=Conectarse();
echo "Conexión con la base de datos conseguida.<br>";
mysql_query("insert into usuario (Nombre,Apellidos,Loggin,Contraseña) values ('$nombre','$apellidos','$loggin','$pass')",$link) ;
header("Location: registro.php");
mysql_close($link); //cierra la conexion

?>
</body>
</html>

y por ultimo recojo los datos de un form llamado registro.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>registro</title>
<link rel="stylesheet" type="text/css" href="./registro.css" media="all" />
<!--[if IE]>
<style type="text/css" media="all">.borderitem {border-style:solid;}</style>
<![endif]-->
</head>

<body>
<form action="procesa.php" method="post" enctype="multipart/form-data" name="registro" target="_self">
<div id="main">
<p class="Txt_Registrece">

Registrece

</p>
<br class="clearfloat" />
<p class="Txt_Nombre">

Nombre

</p>
<div id="Div">
<input name="nombre" type="text" size="26" maxlength="30" />
</div>
<div id="Div2">
<input name="apellidos" type="text" size="26" maxlength="45" />
</div>
<p class="Txt_Apellidos">

Apellidos

</p>
<br class="clearfloat" />
<p class="Txt_Loggin">

Loggin

</p>
<div id="Div3">
<input name="loggin" type="text" size="26" maxlength="15" />
</div>
<div id="Div4">
<input name="password" type="text" size="26" maxlength="10" />
</div>
<p class="Txt_Password">

Password

</p>
<br class="clearfloat" />
<div id="Div5">
<input name="guardar" type="submit" value="Guardar" />
</div>
<div id="Div6">
<input name="cancelar" type="button" value="Cancelar" />
</div>
<br class="clearfloat" />
</div>
</form>

</body>
</html>

Gracias de nuevo
  #4 (permalink)  
Antiguo 07/07/2010, 14:44
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problema con php y mysql

Puedes editar tu post para poner coloreado del código (es usar el boton de Highlight y pone PHP)

Cosas que visto:
Abres y cierras codigo php sin tener porque, me refiero a la linea 16 de conexion.php:
?><?php

Si hay un error, con los exit() no vas a tener un return $link de la funcion conectarse() y al final puede ser vacio lo que recibas.

Las sentencias en SQL deberias ponerlas en mayusculas, excepto campos y datos.

No validas los datos que te llegan, te pueden hackear, revisa la seguridad.

Es mejor poner un campo como "Nombre real" o "Nombre completo" en lugar de Nombre y Apellidos (mejor usabilidad para el usuario)

Corrige esas cosas y vemos que mas falta.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #5 (permalink)  
Antiguo 07/07/2010, 15:20
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con php y mysql

ok gracias por esos consejos shakaran, voy a hacer lo del exit y a poner lo del sql en mayuscula. pregunta, si la sentencia sql debe ir en mayuscula al correr la pagina no deberia levantar un error por tenerlo en minuscula???
  #6 (permalink)  
Antiguo 07/07/2010, 15:38
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con php y mysql

hola de nuevo, he realizado los cambios que me dijeron a exepcion del nombre y apellidos, y aun no me hace la insercion a la base de datos. hasta cambie el mysql_query por este otro

mysql_query("INSERT INTO `prueba`.`usuario` (`ID`, `Nombre`, `Apellidos`, `Loggin`, `Contraseña`) VALUES ('2', 'jonathan', 'hernandez', 'jahcoto', 'pollito')");

este lo tome desde el phpmyadmin que viene en el wampserver, en el wampserver si inserta pero esde mi pagina no
  #7 (permalink)  
Antiguo 07/07/2010, 15:38
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problema con php y mysql

Puede ir en minuscula y mayuscula, pero es más conveniente y por legibilidad seguir estándares
de codificación ;)

Por mi haría que se diese un error de compilación y fatal sino se pusieran bien, pero yo no hago PHP y SQL xD
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #8 (permalink)  
Antiguo 07/07/2010, 17:07
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problema con php y mysql

Los acentos franceses no te hacen falta para los campos a menos que se llamen igual que palabras reservadas de mysql (como desc). Ponle un or die(mysql_error()) y asi ves el error que te dice.

Quedaría:

Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuario (ID, Nombre, Apellidos, Loggin, Contraseña) VALUES ('2', 'jonathan', 'hernandez', 'jahcoto', 'pollito')", $conexion);

Tambien te falta de poner una variable $conexion en la consulta.

PD: Te recomiendo hacer lo del nombre y apellidos tambien ;)
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #9 (permalink)  
Antiguo 07/07/2010, 19:49
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con php y mysql

gracias por tu ayuda, ya pude arreglar mi problema, ya me inserto en la base de datos, me faltaba la varaible de conexion y con el or die pude ver un error que ya pude solucionar, gracias de nuevo por toda la ayuda
  #10 (permalink)  
Antiguo 07/07/2010, 20:06
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problema con php y mysql

De nada, me encanta el karma (si ese que se da con el boton del ying-yang del foro xD)
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net

Etiquetas: mysql
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 21:29.