Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error con curdate() php/mysql

Estas en el tema de Error con curdate() php/mysql en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/06/2015, 08:40
 
Fecha de Ingreso: junio-2015
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Busqueda Error con curdate() php/mysql

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.";}
?>
  #2 (permalink)  
Antiguo 16/06/2015, 08:51
 
Fecha de Ingreso: junio-2015
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Error con curdate() php/mysql

Lo acabo de solucionar de la siguiente manera:
Código PHP:
if($ok==1) {
                    echo 
"El nombre introducido ya está en uso.";
                } else {
                
$fecha=date("Y/n/d");
                
mysql_query("INSERT INTO users (nombre, pass, fechaalta)
                VALUES ('$_POST[nom]','$_POST[pwd]','$fecha')"
,$conexion);        //con curdate añadimos la fecha de hoy al campo fechaalta
                
echo "Datos insertados correctamente.";
                } 
Cierro el tema y lo marco como solucionado, un saludo

Etiquetas: curdate, fecha, formulario, mysql, php-mysql, registro, select, sql, tabla, variable
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 02:12.