Antes que nada muy buenas a todos, soy nuevo en el foro y e entrado porque ya me e solucionado varias dudas con los posts y creo que me podría ser de mucha mas ayuda estando en la comunidad.
Bien he estado haciendo un programa de PHP para prácticar y me e topado con un error que no entiendo, el programa se ejecuta correctamente, coge unos datos de un formulario, comprueba que esten correctos y los mete en una tabla en mysql, donde esta el error? uno de los campos es un curdate() pero cuando miro los registros creados todos se crean con la fecha 0000-00-00, adjunto el código para que le puedan echar un ojo, la linea en cuestion es la 31, saludos y gracias de antemano
Código PHP:
<?php
include("conexion.php");
//comprueba que los campos existen, que no estan vacios, conecta con host y con la base de datos
if (isset($_POST['nom']) && !empty($_POST['nom']) && isset($_POST['pwd']) && !empty($_POST['pwd'])) {
if (strlen($_POST['pwd'])<5) { //comprueba que la contraseña tenga almenos 5 caracteres
echo "La clave es demasiado corta, debe medir almenos 5 caracteres.";}
else {
$conexion=mysql_connect($host, $user, $pw) or die("Problema al conectar con el servidor.");//conecta con el host, si falla manda mensaje de error
mysql_select_db($db, $conexion) or die("Problema al conectar con la base de datos.");//conecta con la base de datos
$registros=mysql_query("SELECT nombre FROM users"); //consulta para obtener todos los nombres
$filas=mysql_num_rows($registros); //cuenta el numero de filas devuelta por la consulta
for ($i=0;$i<$filas;$i++) { //
$fila=mysql_fetch_array($registros); //mete el resultado de la consulta en 1 array
$nombres[$i] = $fila[0]; //guarda en cada sitio del array nombres el valor de la misma linea en el array fila
}
$ok=0;
foreach ($nombres as $a){ //comprueba que el nombre introducido no esta ya en la base de datos y en caso de que si esté
if($a == $_POST['nom']) { //cambia el valor de una variable para usarlo en un posterior IF
$ok=1;
}
}
if($ok==1) {
echo "El nombre introducido ya está en uso.";
} else {
mysql_query("INSERT INTO users (nombre, pass, fechaalta)
VALUES ('$_POST[nom]','$_POST[pwd]','curdate()')",$conexion); //con curdate añadimos la fecha de hoy al campo fechaalta
echo "Datos insertados correctamente.";
}
}
} else {echo "Error al insertar los datos.";}
?>