Problemas con la fecha de un formulario

Trabajo con Dreamweaver 8 y Wampserver (Apache, Mysql, PHP)
Tengo una tabla cuyos datos se completan desde un formulario.
En la tabla tengo un campo que se llama FECHA con el tipo DATE
Quiero que al cargar los datos de ese cliente me figure la fecha en la que ha enviado el formulario de la forma 15 - 05 - 2008 (día, mes, año) en mi campo FECHA de la base de datos.
Como ejemplo de lo que quiero es la página:
http://www.instalareforma.com/ultpre.php
En estos momentos al cargar la página con los datos de cualquier cliente, en la fecha sólo me salen ceros y de esta forma: 0000 - 00 - 00 (año, mes, día).
No tengo ni idea ni de PHP, ni de SQL.
Envío el código de la página del formulario y si me indicas el código que debo poner y el lugar, te estaría muy agradecido.
Como datos te puedo decir que la TABLA se llama general
Tiene un campo que se llama fecha con el tipo DATE, que es el campo dónde debe incluirse la fecha del formulario.
La fecha la quiero en formato día(00) - mes(00) - año(0000)
El código de la página del formulario es:
<?php require_once('Connections/conexionreformas.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? Addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? Intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . Doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = tiny_mce_markerSERVER['PHP_SELF'];
if (isset(tiny_mce_markerSERVER['QUERY_STRING'])) {
$editFormAction .= "?" . Htmlentities(tiny_mce_markerSERVER['QUERY_STRING']);
}
if ((isset(tiny_mce_markerPOST["MM_insert"])) && (tiny_mce_markerPOST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO general (`Nombre_ y _Apellidos`, Dirección, Teléfono, Email, `Plazo_ de_ inicio`, Localidad, Provincia, `Código_ postal`, Descripción, reforma) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString(tiny_mce_markerPOST['Nombre_y_Apellidos'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Direccin'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Telfono'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Email'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Plazo_de_inicio'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Localidad'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Provincia'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Cdigo_postal'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Descripcin'], "text"),
GetSQLValueString(tiny_mce_markerPOST['obra_realizar'], "text"));
mysql_select_db($database_conexionreformas, $conexionreformas);
$Result1 = mysql_query($insertSQL, $conexionreformas) or die(mysql_error());
$insertGoTo = "index.php";
if (isset(tiny_mce_markerSERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= tiny_mce_markerSERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td width="232" align="right" nowrap>Nombre y Apellidos:</td>
<td>
<div align="center">
<input type="text" name="Nombre_y_Apellidos" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Dirección:</td>
<td>
<div align="center">
<input type="text" name="Direccin" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Teléfono:</td>
<td>
<div align="center">
<input type="text" name="Telfono" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Email:</td>
<td>
<div align="center">
<input type="text" name="Email" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Inicio de la obra:</td>
<td>
<div align="center">
<input type="text" name="Plazo_de_inicio" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Localidad de la obra:</td>
<td>
<div align="center">
<input type="text" name="Localidad" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Provincia de la obra:</td>
<td>
<div align="center">
<input type="text" name="Provincia" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Código postal:</td>
<td>
<div align="center">
<input type="text" name="Cdigo_postal" value="" size="40"...
Respuesta
1
Lo primero pondria un campo oculto llamado fecha en el formulario form1, luego pondria una funcion en javascript que asignara la fecha a ese campo en el formato deseado al cargar la página o al enviar el formulario, y por ultimo retocaria la sentencia SQL de insercion en la tabla.
<!-- no copies esta linea
<?php require_once('Connections/conexionreformas.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = tiny_mce_markerSERVER['PHP_SELF'];
if (isset(tiny_mce_markerSERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities(tiny_mce_markerSERVER['QUERY_STRING']);
}
if ((isset(tiny_mce_markerPOST["MM_insert"])) && (tiny_mce_markerPOST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO general (`Nombre_ y _Apellidos`, Dirección, Teléfono, Email, `Plazo_ de_ inicio`, Localidad, Provincia, `Código_ postal`, Descripción, reforma,fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString(tiny_mce_markerPOST['Nombre_y_Apellidos'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Direccin'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Telfono'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Email'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Plazo_de_inicio'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Localidad'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Provincia'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Cdigo_postal'], "text"),
GetSQLValueString(tiny_mce_markerPOST['Descripcin'], "text"),
GetSQLValueString(tiny_mce_markerPOST['obra_realizar'], "text")
GetSQLValueString(tiny_mce_markerPOST['fecha'], "text"));
mysql_select_db($database_conexionreformas, $conexionreformas);
$Result1 = mysql_query($insertSQL, $conexionreformas) or die(mysql_error());
$insertGoTo = "index.php";
if (isset(tiny_mce_markerSERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= tiny_mce_markerSERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>

<script type="text/javascript">
function lafecha(){
var vfecha= new Date();
dia = vfecha.getDate();
mes = vfecha.getMonth();
if (dia<10) dia = "0" + dia;
if (mes<10) mes = "0" + mes;
lafecha = dia + "-" + mes + "-" + vfecha.getFullYear();
//alert(lafecha);
form1.fecha.value = lafecha;
//alert(form1.fecha.value);
}
</script>

<body onload="lafecha();">
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td width="232" align="right" nowrap>Nombre y Apellidos:</td>
<td>
<div align="center">
<input type="text" name="Nombre_y_Apellidos" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Dirección:</td>
<td>
<div align="center">
<input type="text" name="Direccin" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Teléfono:</td>
<td>
<div align="center">
<input type="text" name="Telfono" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Email:</td>
<td>
<div align="center">
<input type="text" name="Email" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Inicio de la obra:</td>
<td>
<div align="center">
<input type="text" name="Plazo_de_inicio" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Localidad de la obra:</td>
<td>
<div align="center">
<input type="text" name="Localidad" value="" size="40">
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Provincia de la obra:</td>
<td>
<div align="center">
<input type="text" name="Provincia" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Código postal:</td>
<td>
<div align="center">
<input type="text" name="Cdigo_postal" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Obra a realizar:<br />
(Ej: Reformar piso) </td>
<td>
<div align="center">
<input name="obra_realizar" type="text" id="obra_realizar" value="" size="40" />
</div>
</td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap>Descripción de la obra: </td>
<td><label>
<div align="center">
<textarea name="Descripcin" cols="34" rows="5" id="Descripcin"></textarea>
</div>
</label></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> <input name="fecha" type="hidden"> </td>
<td><input name="submit" type="submit" value="Enviar" onclick="lafecha();"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>
mo copies esta linea -->
No he analizado el código siguiente, pero se trata de que al enviarel formulario se envie la fecha y se recoja en el insert.
Te he resaltado en negrita los cambios
Saludos
<!-- no copies esta linea
<tr valign="baseline">
<td nowrap align="right"> <input name="fecha" type="hidden"> </td>
<td><input name="submit" type="submit" value="Enviar" /></td>
</tr>
</table>
no copies esta linea--><!--
<tr valign="baseline">
<td nowrap align="right"> <input name="fecha" type="hidden"> </td>
<td><input name="submit" type="submit" value="Enviar" /></td>
</tr>
</table>
-->

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas