PHP - Estableciendo conexión con la base de datos.

   
Vista:

Estableciendo conexión con la base de datos.

Publicado por Natalia (5 intervenciones) el 28/08/2013 01:56:42
¡Buenas! Os escribo porque soy nueva en esto de la programación y se me ha presentado un problema.
Estoy creando una web en la que necesitaría una sección para registrar usuarios, pero se me resiste. El fallo está en que no sé qué hago mal pero no se quedan registrados en la tabla de la base de datos y claro, al iniciar sesión me dice que no existe el usuario.


Pego la parte del html que afecta al registro y el php al que hace referencia, a ver...

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<div id="contenido6" style="overflow: scroll; height: 100px; width: 100%">
<form name="form1" method="post" action="insertar.php">
   Username: <br>
<label>
<input name="username" type="text" id="username">
</label>
<p>Password: <br>
   <label>
      <input name="password" type="password" id="password">
   </label>
</p>
<p>Nombre:<br>
   <label>
      <input name="nombre" type="text" id="nombre">
   </label
</p>
<p>Apellidos<br>
   <label>
      <input name="apellidos" type="text" id="apellidos">
   </label>
</p>
<p>Tel&eacute;fono<br>
   <label>
      <input name="telefono" type="text" id="telefono">
   </label>
</p>
<p>Email:<br>
   <label>
      <input name="email" type="text" id="email">
   </label>
</p>
<p>
<label></label>
   <label>
      <input type="submit" value="Enviar registro">
   </label>
</p>
</form>
</div>
 
 
Código:
 
 
<html>
<head>
   <title></title>
</head>
<body>
<?php
function Conectarse ()
{
   if (!($link=mysql_connect("localhost","foamcarh","hola1234")))
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("foamcarh_base",$link))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $link;
}
 
$link=Conectarse();
echo "Conexion con la base de datos conseguida.<br>";
 
mysql_close($link);
//cierra la conexion 
?>
</body>
</html>


¡¡Muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Estableciendo conexión con la base de datos.

Publicado por Sergio (9 intervenciones) el 28/08/2013 02:47:25
Mmmmm haber si puedes seccionar la parte que es PHP con HTML y pones el codigo completo para poderte ayudar. Porque segun lo que entiendo es que tienes un archivo HTML y otro PHP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Natalia (5 intervenciones) el 28/08/2013 03:01:53
Ante todo muchísimas gracias por contestar ten rápido.

Respondiendo a tu comentario: sí, tengo un archivo HTML y otro PHP, ¿debería tenerlos juntos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Estableciendo conexión con la base de datos.

Publicado por xve (5516 intervenciones) el 28/08/2013 10:53:12
Hola Natalia, no vemos el código que muestra como intentas añadir el registro... aquí únicamente nos muestras el formulario

Si nos lo puedes mostrar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Natalia (5 intervenciones) el 28/08/2013 13:04:32
Hola, gracias por contestar ^^

Este es el código que tengo para el registro.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
// Configura los datos de tu cuenta
 
//puedes cambiar las frases sin quitar las comillas ""
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='foamcarh_base';
// Conexi&oacute;n a la base de datos
mysql_connect("localhost", "foamcarh", "hola1234" ) or die(mysql_error());
mysql_select_db("foamcarh_base" ) or die(mysql_error());
 
 
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"] ) ) {
$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "Hay Campos Vacios";
}else{
// &iquest;Coinciden las contrase&ntilde;as?
if($password!=$cpassword) {
echo "Las Contrase&ntilde;as No Coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'" ) ;
$username_exist = mysql_num_rows ($checkuser);
 
$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'" ) ;
$email_exist = mysql_num_rows($checkemail);
 
if ($email_exist>0|$username_exist>0) {
echo "EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
}else{
//Todo parece correcto procedemos con la inserccion
$query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo "El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
}
}
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

Estableciendo conexión con la base de datos.

Publicado por terra (62 intervenciones) el 28/08/2013 14:22:03
Hola!
Tal y como lo dices en tu enunciado "...soy nueva en esto de la programacion..."
Bienvenida a este colectivos de LOCOS...!!!

No dejes que la "ansiedad" de hacer algo te perjutique al final..
Debes respectar"te" y hacer un estructura "entendible" y legible a primera vista. Esto te ayudará y lo agradecerás.

pues bien...
Suerte y Welcome!

en tu HTML


- Tienes el TAG
1
<DIV>
fuera de la estructura
1
<HTML>
. Te recomiendo que cada TAG's lo coloques en donde corresponde.
- Ejecutas una function con la presentación del FORMULARIO.

Funciones


Es recomendable que generes un fichero de nombre x ejemplo:
1
funciones.req.php
Todas las funciones globales las colocas allí y cada vez que las necesitas las llamas con:
1
include o requiere

en el PHP


Estás declarando:
1
$cpassword = $_POST["cpassword"];
y este INPUT no está en FORMULARIO

Estás conficionando:
1
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
1
if ($email_exist>0|$username_exist>0) {

Te paso un link de los operadores logicos de PHP
http://www.php.net/manual/es/language.operators.logical.php

Si necesitas más ayudas o guía de como moverte en esto nos lo dices...!

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Estableciendo conexión con la base de datos.

Publicado por Sergio Steven (9 intervenciones) el 28/08/2013 16:34:32
Como estas amiga, primero tener en cuenta que segun lo qe he visto en tu codigo las tablas hay que tener muy en cuenta que campos seran nulos y cuales no puede ser un motivo por el cual no se insertan en tu tabla, segundo hice una simulacion en modo local de lo que quieres, al menos te capte la idea. Haz lo que te indico y no deberias tener problemas:

crea un archivo cone.php el cual debera estar situado junto al archivo registrar.php que tienes y debe tener este codigo tu archivo cone.php(copia y pega)
1
2
3
4
5
6
7
8
9
10
11
<?php
	$conn = mysql_connect('localhost', 'foamcarh', 'hola1234');
	mysql_select_db('foamcarh_base');
 
    if( $conn ) {
        echo "\n";
    } else {
        echo "Error en la Conexión\n";
		return 0;
    }
?>

ahora creemos el archivo registrar.php el cual debera tener el siguiente codigo(ojo que cuando programemos con php preferible que todas tus extensiones terminen en .php y no html)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
require("cone.php");
 
 
if (isset($_POST["username"] ) ) {
	$username = $_POST["username"];
	$password = $_POST["password"];
	$cpassword = $_POST["cpassword"];
	$nombre = $_POST["nombre"];
	$apellidos = $_POST["apellidos"];
	$email = $_POST["email"];
 
// Hay campos en blanco
	if($username==NULL ||$password==NULL ||$cpassword==NULL ||$email==NULL) {
		echo "Hay Campos Vacios";
	}else{//if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
// &iquest;Coinciden las contrase&ntilde;as?
		if($password!=$cpassword) {
			echo "Las Contrase&ntilde;as No Coinciden";
		}else{//if($password!=$cpassword) {
			// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
 
			$checkuser = mysql_query("SELECT username FROM user WHERE username='$username'" ) or die ("<br>Error consulta tabla User ");
			$username_exist = mysql_num_rows ($checkuser);
 
			$checkemail = mysql_query("SELECT email FROM user WHERE email='$email'" ) or die ("<br>Error consulta email en tabla user ");
			$email_exist = mysql_num_rows($checkemail);
 
			if ($email_exist>0 || $username_exist>0) {
				echo "EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
			}else{//
				//Todo parece correcto procedemos con la inserccion
				$query = "INSERT INTO user (nombre,apellido,username, password, email) VALUES('$nombre','$apellido','$username','$password','$email')";
				mysql_query($query) or die(mysql_error());
				echo "El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
			}//if ($email_exist>0|$username_exist>0) {
		}//if($password!=$cpassword) {
	}//if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
}//if (isset($_POST["username"] ) ) {
?>
 
<html>
	<head>
		<title>AYUDA CONEXION PHP</title>
	</head>
	<body>
		<form action="registrar.php"  method="post">
			<table>
				<tr>
					<td> Username:</td><td><input  type="text" name="username"></td>
				</tr>
				<tr>
					<td> Password:</td><td><input  type="password" name="password"></td>
				</tr>
				<tr>
					<td> Clave otra vez:</td><td><input  type="password" name="cpassword"></td>
				</tr>
				<tr>
					<td> Nombre:</td><td><input  type="text" name="nombre"></td>
				</tr>
				<tr>
					<td> Apellidos</td><td><input  type="text" name="apellidos"></td>
				</tr>
				<tr>
					<td> Tel&eacute;fono</td><td><input  type="text" name="telefono"> </td>
				</tr>
				<tr>
					<td> Email</td><td><input  type="text" name="email">  </td>
				</tr>
				<tr>
					<td colspan="2" align="center"><input type="submit" value="Enviar registro"> </td>
				</tr>
			</table>
 
		</form>
	</body>
</html>

y tu tabla de la base de datos tiene esta estructura o eso es lo que pude rescatar
1
2
3
4
5
6
7
8
9
CREATE TABLE `user` (
  `iduser` int(10) NOT NULL auto_increment,
  `nombre` varchar(30) NOT NULL,
  `apellido` varchar(30) NOT NULL,
  `username` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  PRIMARY KEY  (`iduser`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

Mira, como te digo me tome la paciencia de simular lo que quieres hacer y con eso no deberias tener problemas. Si te funciona Suscribete a mi canal http://www.youtube.com/user/chupito244 y cualquier consulta,duda o video que sea de interes para otros lo preparare, gracias y si no te funciona contactate conmigo o deja un comentario en algun video.Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Natalia (5 intervenciones) el 28/08/2013 17:30:13
Muchísimas gracias a todos por contestar.

Sergio, sigo teniendo el mismo problema que antes, no se me queda el usario registrado en la base de datos y cuando inicio sesión en la página me dice que el usuario no es correcto.
He seguido los pasos que me has dado, pero no hay manera.
¿Sabes más o menos dónde podría estar el fallo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

Estableciendo conexión con la base de datos.

Publicado por terra (62 intervenciones) el 28/08/2013 19:03:30
por favor, postea los errores. Para ello, cambiar o añana a cada
1
die("texto personalizado - Error MySQL:".mysql_error());
para saber que realmente detecta el motor MySQL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Sergio (9 intervenciones) el 29/08/2013 03:11:54
Natalia agregame en el fb https://www.facebook.com/sergio.aguilar.311 y haber si conversamos y te puedo apoyar remotamente en todo caso. Si tuvieras el teamviewer instalado seria mucho mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Sergio (9 intervenciones) el 29/08/2013 03:15:26
Me parece extraño que no te funcione lo que te puse debido a que a mi si me funciono, espero poderte ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Natalia (5 intervenciones) el 30/08/2013 14:16:17
Puede que esté haciendo algo mal, que no lo descarto, ya que no tengo ningún tipo de manejo con este tema.

Voy a agregarte, muchas gracias por la ayuda, de verdad ^^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

Estableciendo conexión con la base de datos.

Publicado por terra (62 intervenciones) el 30/08/2013 18:26:53
Estimados Colegas Natalia y Sergio,
Cuando solucionen el problema, por favor, posteen la solución. Es muy importante, no para mi en especial, sino para cualquier persona que le suceda lo mismo y vea este POST incompleto.
Saludos y suerte en la solución!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Sergio (9 intervenciones) el 30/08/2013 20:07:38
Descuide, si se le da la solucion respectiva se pondra a que se debio, soy una persona que le gusta compartir el conocimiento o poco que sabemos. Solo que debido a que con los codigos que indexe no le funciona me parece raro por lo que queria hacer el seguimiento del porque
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estableciendo conexión con la base de datos.

Publicado por Sergio (9 intervenciones) el 30/08/2013 22:02:44
El problema esta en que al momento de refrescar el formulario insertar.php no hace la conexion a la base de datos este era el error por el cual no se podian registrar los datos, ademas de ello las tablas a las que hace referencia la consulta no son las correctas. Enmendandose dichos errores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar