PHP - Duda sencilla (imagino)

   
Vista:

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 07/11/2014 10:32:20
Buenos días a todos:

Me estoy introduciendo en el mundo de la programacion y empiezo a tener algunas barreras, que imagino que son sencillas de solucionar , pero que para un novato como yo, pues le cuesta.Además estoy haciend un curso on line y el profesor con esta duda, me da vueltas y vueltas pero no termina de ayudarme.

Se trata de un pequño programa de altas y bajas. El probelma es que al intentar dar un alta, me conecto correctamente a la base de datos, pero a la hora de selccionar o insertar me da error. os copio los trs codigos, el index, el codigo de selelcion de altas y el codigo que me da error de seleccion y de insercion.

Si algun alma caritativa me ayuda os lo agradecería.os copio los codigos:

INDEX

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
<html>
<head>
<title> Gestión de curso y alumnos</title>
</head>
<body>
<br><br>
	<center><font size=5>Administracion de cursos y alumnos</font></center>
	<br><br>
	<table border=0 width="100%">
		<tr>
			<td width="25%">&nbsp;</td>
			<td width="35%">Cursos</td>
			<td width="35%">Alumnos</td>
		</tr>
 
		<tr>
			<td width="25%">&nbsp;</td>
			<td width="35%">
				<br>
				<a href="curso.altas.php"> Altas</a><br><br>
				<a href="curso.bajas.php"> Bajas</a><br><br>
				<a href="curso.modifica.php"> Modificaciones</a><br><br>
				<a href="curso.listados.php"> Listados</a><br><br>
			</td>
 
			<td width="35%">
				<br>
				<a href="alumnos.altas.php"> Altas</a><br><br>
				<a href="alumnos.bajas.php"> Bajas</a><br><br>
				<a href="alumnos.modifica.php"> Modificaciones</a><br><br>
				<a href="alumnos.listados.php"> Listados</a><br><br>
			</td>
		</tr>
 
	</table>
 
</body>
 
</html>

Formulario de alta

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
<html>
<head>
<title> Gestión de curso y alumnos</title>
</head>
<body>
<br><br>
<a href="index.html">Menu Principal</a>
<center><font size=5>Altas de alumnos</font>
</center>
<br><br>
<center>
	<form action="alumnos.altas.insert.php" method="post">
	<br><br>
	DNI:
	<br><input type="text" name="dni" size="9" maxlength="9">
	<br>
	NOMBRE:
	<br><input type="text" name="nombre" size="20" maxlength="20">
	<br>
	APELLIDOS:
	<br><input type="text" name="apellidos" size="30" maxlength="30">
	<br><br>
	<input type="submit" value="Enviar" name="btnValidar">
	<br><br>
	<input type="reset" value="Borrar" name="btnLimpiar">
	</form>
</center>
</body>
</html>

Archivo de seleccion y de insercion en la base de datos..donde me salta el problema

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
<html>
<head>
<title> Gestión de curso y alumnos</title>
</head>
<body>
<br><br>
<a href="index.html">Menu Principal</a>
<center><font size=5>Altas de alumnos</font>
</center>
<br><br>
<?php
	$dni=$_POST["dni"];
	$nombre=$_POST["nombre"];
	$apellidos=$_POST["apellidos"];
	$errores=0;
	if ($dni==""){
		echo "<center>ERROR. Introduzca un DNI valido</center><br>";
	$errores++;}
	if ($nombre==""){
		echo "<center>ERROR. Introduzca un Nombre valido</center><br>";
	$errores++;}
	if ($apellidos==""){
		echo "<center>ERROR. Introduzca un Apellido valido</center><br>";
	$errores++;}
	if ($errores>0) {
	include("volver.txt");
	return;
	}
	//conexion con la base de datos
	include("include/conex_alumno.php");
	// dni es correcto? o es igual a otro?
	$query="select * from datos where dni='$dni'";
	$result=@mysql_query($query,$conexion);
	if (!$result) {
		echo ("ERROR en el servidor.(mysql_query:select)<br>");
		include("volver.txt");
	return;
	}
	$total=mysql_num_rows($result);
	if ($total>0) {
		echo "Error. Ya existe un alumno con ese dni";
		include("volver.txt");
		return;}
	//inserto nuevo alumno
	$query="insert into datos (dni,nombre, apellidos) values ('$dni','$nombre','$apellidos')";
	$result=@mysql_query($query,$conexion);
 
	if (!$result) {
		echo "ERROR en el servidor.(mysql_query:insert)<br>";
		include("volver.txt");
	return;
	}
		echo "ALumno '$nombre $apellidos ' dado de alta correctamente.";
		@mysql_free_result($result);
		@mysql_close($conexion);
		include("volver.txt");
?>
</body>
</html>

Os copio también el fichero de conexion que aparece en INCLUDE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$conexion=@mysql_connect("localhost","root","root");
if(!$conexion) {
echo("ERROR. No contesta el servidor.(mysql_connect)<BR>");
return;
}
echo("Conexión realizada correctamente<BR>");
if (!mysql_select_db("alumnos", $conexion)) {
echo("ERROR. No contesta el servidor. (mysql_select_db)<BR>");
return;
};
echo("Base de Datos seleccionada correctamente<BR>");
mysql_close($conexion);
?>

Bueno..espero que alguien me pueda ayudar..Un saludo
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
Imágen de perfil de xve

Duda sencilla (imagino)

Publicado por xve (5519 intervenciones) el 07/11/2014 16:43:14
Hola Juka, no nos indicas que errores te da... yo quitaría todas las arrobas (@) de delante de las instrucciones, si no, no veras los errores.

Considero que es una mala practica poner la arroba!!
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

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 07/11/2014 17:23:32
Perdona, el error me lo da en el tercer archivo php que meto...el de la seleccion y alta del alumno...me salta el error siguiente:




pi



Un saludo y gracias por responder
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 ruben

Duda sencilla (imagino)

Publicado por ruben (25 intervenciones) el 07/11/2014 19:02:59
hola que tal:

3 opciones:

1.- En el if if (!$result) // Puede ser eso yo lo haria al reves

if ($resul != "") {
echo "ALumno '$nombre $apellidos ' dado de alta correctamente.";
@mysql_free_result($result);
@mysql_close($conexion);
include("volver.txt");
}

echo "ERROR en el servidor.(mysql_query:insert)<br>";
include("volver.txt");
return;

2.- Si la condicion funciona bien, ejecuta la query en el gestor de bd aver si no te da problemas.


3. yo utilizo las sentencias de mysql sin @
y utilizo
mysql_pconnect();
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

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 07/11/2014 19:11:03
Gracias..lo pruebo y os digo!! gracias por la respuesta!!
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

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 07/11/2014 19:31:31
No me ha funcionado...si alguien tiene alguna idea...
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 ruben

Duda sencilla (imagino)

Publicado por ruben (25 intervenciones) el 07/11/2014 19:54:32
Que no te ha funcionado ? la query en la bd.... o la insercion de datos desde 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

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 07/11/2014 20:27:49
la insercion en la base de datos...

Grcacias por tu ayuda!
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

Duda sencilla (imagino)

Publicado por Juka (6 intervenciones) el 08/11/2014 09:03:36
Ya conseguí solucionarlo..el error estaba en el ultimo archivo..el de conexion con la base de datos, porque si os fijais, al final del archivo (el ultimo que copié y pegué), cierro la conexión ,mysql_close($conexion), y no deja hacer consultas ni tampoco inserciones, lógicamente..ahora ya funciona ok.

saludos
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