El mensaje de error cuando ponen mal algun dato está localizado aquí:
Código PHP:
} else { /*han metido mal su carnet */ }
Que podría ser por ejemplo:
Código PHP:
} else { print "Error al introducir los datos, inténtelo de nuevo."; }
O lo que tu quieras dependiendo de tu página.
En esta parte hay un pequeño error:
Código PHP:
$rows = mysql_db_query("$base", $sql);
// $rows = mysql_affected_rows(mysql_db_query("$base", $sql));
Cambialo por:
Código PHP:
$rows = mysql_affected_rows(mysql_db_query($base, $sql));
// $rows = mysql_affected_rows(mysql_db_query("$base", $sql));
Y si quieres que solo se ejecute el código si ponen todos los datos, haz algo tan sencillo como:
Código PHP:
if ($v1 && $v2 && $v3) { /* si existe $v1, $v2 y $v3 */
/* hacemos las operaciones */
} else { print "Debes introducir todos los datos."; }
No sé si he resuelto algo o parte de lo que preguntas, o quizá te haya liado un poco mas, ya nos cuentas por si alguien te puede responder mejor que yo.
De todas formas te recomiendo visitar videotutoriales punto com y bajarte el Curso de PHP y MySQL del fantástico Jesus Conde aka 'OutKast', aprenderás muchísimo simplemente viendo vídeos y practicando en tu servidor local.
Script completo:
Código PHP:
<?php
/* declaraciones de variables */
$base = "ces";
$tabla_control = "control";
$tabla_empleados = "empleados";
$cirun = $_POST["cirun"];
$v2 = $_POST["fecha"]; /* esta variable sobra */
$v3 = $_POST["hora"]; /* esta también */
/* puedes obtener medidas de tiempo con date();
busca en php.net acerca de date(); */
if ($cirun) {
if ($link = mysql_connect("localhost","usuario","pass")) {
/* Conexión correcta */
$sql = "SELECT * FROM $tabla_empleados WHERE cirun = '$cirun' ";
$rows = mysql_affected_rows(mysql_db_query($base, $sql));
if ($rows) {
/* ha introducido un código válido */
$sql = "INSERT INTO $tabla_control (cirun, fecha, hora)
VALUES ('$cirun',' ".date("Y-m-d h:i:s")." ',' ".date("h:i:s")." ')";
/* por eso dije que sobraban */
/* ejecutamos la consulta */
mysql_db_query($base ,$sql);
/* si hay error hacemos debug */
if (mysql_errno()) {
print "
<p>Se ha producido un error</p>
<p>Error en la consulta:</p>
SQL: $sql<hr />
<p>Error nº ".mysql_errno()."</p>
<p>MySQL dijo: ".mysql_error()."</p>
";
}
} else {
/* no existe ningun cirum en la base de datos o han metido mal su carnet */
print "Su carnet no es válido o no esta registrado.";
}
/* cierre de la conexion */
mysql_close($link);
} else {
/* La conexion MySQL falló */
die("Imposible conectar con la base de datos.");
}
} else {
/* Falta $cirun */
print "Debe introducir su carnet.";
}
?>