Grabar formulario PHP a MySQL

Cerrado
Denunciar
-
 anuncio -
Hola,

Les comento que puedo crear correctamente los formularios y grabar los datos a la tabla de la BD en MySQL. Esto funciona muy bien para los campos TEXT pero para los SELECT no. Existe un procedimiento especial para guardar la informacion seleccionada del campo SELECT en el formulario a la tabla de la BD?

Gracias por su colaboracion.

Atte,

Freddy Rojas R

15 respuestas

Buen Dia

Adjunto codigo del formulario

<html>
<body>
<h1 align="center" class="Estilo1">INGRESO DE PRODUCTOS</h1>
<FORM action="producto.php" method="post">
<P>
NOMBRE: <INPUT type="text" name="nombre"><BR>
DESCRIPCION: <INPUT type="text" name="descripcion"><BR>
<label>CATEGORIA:
<?php
include "conexionbd.php";
// Realizar una consulta SQL
$consulta = 'SELECT nombre FROM categoria';
$resultado = mysql_query($consulta) or die('La consulta falló: ' . mysql_error());

// Impresion de resultados en HTML
echo "<select name=\"categoria_id\">\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
foreach ($linea as $valor_col) {
echo " <option> $valor_col \n";
}
}
$res=$row["id"];
echo "</select>\n";
// Liberar conjunto de resultados
mysql_free_result($resultado);
?>
</label>
<BR><br>
<BUTTON name="enviar" value="enviar" type="submit">
Grabar </BUTTON>
</P>
</FORM>
</body>
</html>

En seguida el codigo para grabar a la BD

<HTML>
<HEAD>
<TITLE>Producto.php</TITLE>
</HEAD>
<BODY>
<?php
$nombre=$_POST['nombre'];
$descripcion=$_POST['descripcion'];
$categoria_id=$_POST['categoria_id'];
include "conexionbd.php";
$guardar = mysql_query("INSERT INTO producto (nombre,descripcion,categoria_id) VALUES ('$nombre','$descripcion','$categoria_id');");

mysql_close();
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="formulario_producto.php">Ingresar otro registro</a></div>
</BODY>
</HTML>

Como pueden ver el campo categoria esta en un SELECT cargado con informacion de la BD, pero al grabar a la BD la opcion seleccionada deja el campo en '0'.

Gracias por la colaboracion.

FRR
38
Hola

Estoy tratando de hacer un formulario para insertar registros en la BD, pero me marca un error y no se que pueda ser, por favor me podrías ayudar?

El error me lo marca en la siguiente línea:

$result=mysql_query("insert into ocasion (marca,modelo,combustible,color, fecha, precio) values(\""$marca"\", \""$modelo"\", \""$combustible"\", \""$color"\", \""$fecha"\", \""$precio"\")",$enlace);

Este es mi códico completo:

<?
$host="localhost";
$user="root";
$password="";
$db="coches";
$enlace=mysql_connect($host,$user,$password);
//mysql_select_db($db,$enlace);
$select_db=mysql_select_db($db,$enlace);
$result=mysql_query("insert into ocasion (marca,modelo,combustible,color, fecha, precio) values(\""$marca"\", \""$modelo"\", \""$combustible"\", \""$color"\", \""$fecha"\", \""$precio"\")",$enlace);
mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");


//echo("<br>".$result);

echo"Ha insertado los siguientes datos:";
echo"<br><br>";
echo ("Marca:".$marca);
echo"<br>";
echo ("Modelo:".$modelo);
echo"<br>";
echo ("Combustible:".$combustible);
echo"<br>";
echo ("Color:".$color);
echo"<br>";
echo ("Fecha:".$fecha);
echo"<br>";
echo ("Precio:".$precio);
echo"<br><br>";
?>
<a href="http://localhost/coches/forminserta.htm">Volver
0
hola soy cristian estoy aciendo en formulario pero cuando boy a imgresar al usuario en mi base de datos me debuelve la consulta alguien me pude explicar pls lo agradeceria muxo
0
esta es mi consulta k le ago a la vase de datos pero me debuelve vacia la tabla no lo puede imgresar
********************************************************************************************************


<?php
require_once("paratodos.php");
$sql="insert into usuarios
values
(null,'".$_POST["nom"]."','".$_POST["apellido"]."','".$_POST["correo"]."','".$_POST["user"]."','".$_POST["pass"]."','".$_POST["pass_1"]."','".$_POST["sexo"]."','".$_POST["pais"]."')";

$res=mysql_query($sql,$con);
echo "<script type=''>
alert('El Usuario fue Registrado Correctamente Grasias por su registro');
window.location='formulario.php';
</script>";

?>
0
Hola Cristian, nunca critico las faltas de ortografía pero en tu caso si se te fueron bastantes xDD checa tus mensajes cuando los mandes solo como recomendación jeje bueno pasando al tema, dependiendo de la versión de php y sobre todo mysql veo que te falta especificar los campos es decir :

insert into usuarios (campo1,campo2,campo3, etc) values (null,'".$_POST["nom"]."','".$_POST["apellido"]."','".$_POST["correo"]."','".$_POST["user"]."','".$_POST["pass"]."','".$_POST["pass_1"]."','".$_POST["sexo"]."','".$_POST["pais"]."')";

te recomiendo que leas sobre el tema "Capturar errores en mysql" ya que te ayudará infinitamente en el volcado de información de bases de datos
0
Pero cual es el .html y cual el .PHP??? Gracias
0
GUARDAR Y RECUPERAR DATOS
4
PUDISTES ALMACENAR ALFIN LA INFORMACION QUE SE ENCUANTRA EN EL SELECT MULTIPLE HECHO EN PHP A LA BASE DE DATOS?

AGRADESCO TU RESPUESTA A GUSDIPRA22@HOTMAIL.COM, YA QUE ANDO EN EL MISMO DILEMA
GRACIAS

GUSTAVO
3
Hola! pudiste dar con el modo de insertar en la bd el valor de un select múltiple? qué tipo de dato debería ser? Te agradecería respuesta

Carmen
0
Hola yo tambien pude mostrar los datos en el select pero al momento de almacenarlos o guardarlos no me ejecuta, que puedo hacer si en el select me muestra el detalle y quiero q me guarde el codigo de ese detalle en otra tabla relacionada. agradeceria su respuesta.....
0
Buen Dia

Revisando veo que este si graba el texto selecionado pero lo que necesito que quede en la tabla es el indice de la seleccion, como puedo hacer esto?

Gracias
2
Bueno tienen aquí dos soluciones:

1) En este caso se guarda el valor idcategoria.

$consulta = 'SELECT id_categoria, nombre FROM categoria';

echo "<select name=categoria>\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
$nombre = $linea["nombre"];
$idCateg = $linea["id_categoria"];
echo "<option value=".$idCateg.">".$nombre."</option>\n";
}
echo "</select>\n";

Resultado en vista de código fuente

<select name=categoria>
<option value=1>categoria1</option>
<option value=2>categoria2</option>
<option value=3>categoria3</option>
</select>

------------------------------------------------------------------------------

2) En este caso se guarda el valor nombre

$consulta = 'SELECT nombre FROM categoria';

echo "<select name=categoria>\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
$nombre = $linea["nombre"];
echo "<option value=".$nombre.">".$nombre."</option>\n";
}
echo "</select>\n";

Resultado en vista de código fuente

<select name=categoria>
<option value= categoria1>categoria1</option>
<option value= categoria1>categoria2</option>
<option value= categoria1>categoria3</option>
</select>


Espero que te sirva, Saludos
0
Excelente amigo tu codigo me saco de apuros... muchisimas gracias por compartir Saludos
0
disculpen, es que tengo problemas para que me muestre los resultado no me esta llenando el select :( no se si tengo algo mal en el codigo.
<?PHP
include("conexion.php");
$link= Conectar();
$resultado = 'SELECT gen_id, gen_inicio FROM generaciones';
echo "<select name=gen>\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
$gen_inicio = $linea["gen_inicio"];
$gen_id = $linea["gen_id"];
echo "<option value=".$gen_id.">".$gen_inicio."</option>\n";
}
echo "</select>\n";
?>

agradecería su ayudaaa
0
Hola skip, disculpame que en este momento no te pueda ayudar con detalle es decir explicarte porque fallo tu script pero basicamente es la forma en que lo llamas, llego tu mensaje en un momento muy complicado pero te dejo el siguiente codigo que se me vino a la mente de forma muy rapida que capture y probe y funciono perfecto

<?PHP
$conexion = mysql_connect("localhost", "tuusurario", "tucontraseña");
mysql_select_db("pruebas", $conexion);

echo "<form name='cosa' id='cosa'>";
echo "<select name=gen>\n";

$result = mysql_query('SELECT gen_id, gen_inicio FROM generaciones');
if (!$result)
{
die('Consulta Inválida: ' . mysql_error());
}
while($row=@mysql_fetch_row($result))
{
echo "<option value=".$row[0].">".$row[1]."</option>\n";
}

echo "</select>\n";
echo "</form>";
?>

Siempre procura hacer un cacheo de errores o lo que conocemos como debug para que sepas donde esta el error, despues con calma si tengo tiempo te explico tu error y como corregir tu script mientras te dejo este ejemplo y la direccion del script funcionando para que lo cheques, chavos se que les he prometido ttores y tutores pero el trabajo me come, si quieren contactarme en esta pagina seguramente me hallarán inmediatamente.

Aqui te dejo el volcado de mi base de pruebas:
CREATE TABLE IF NOT EXISTS 'generaciones' (
'gen_id' text NOT NULL,
'gen_inicio' text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO 'generaciones' ('gen_id', 'gen_inicio') VALUES
('uno', 'inicio_uno'),
('dos', 'incio_dos');

Ejemplo del scrip funcionando :

http://prepa7.unam.mx/generaciones/generacion.php
0
se me olvidaba skip si le das boton derecho ver codigo fuente podras ver que genera:
<form name='cosa' id='cosa'>
<select name=gen>
<option value=uno>inicio_uno</option>
<option value=dos>incio_dos</option>
</select>
</form>
0
Hola buenas tardes.

Soy nuevo en este foro. Ante todo agradecer las posibles ayudas que lleguen a mi petición y mucho gusto en conoceros.

Os planteo la siguiente cuestión. Tengo mi formulario que recoge bien los datos insertados en los campos de texto, pero a la hora de insertarlos en la base de datos mysql no los ingresa bien.

Os planto el código.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RESULTADOS</title>
<style type="text/css">
#form1 p {
font-weight: bold;
font-style: italic;
font-family: "Comic Sans MS", cursive;
font-size: 16px;
}
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="<a href="#">
<p align="center">Los datos han sido introducidos correactemente</a></p>
<p align="center"><a href="http://www---insertar_datos.htm">Volver a la página anterior</a><a href="#"></a></p>
</form>

<?php

$link = mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("xxxx",$link);


$_POST['fecha'] = trim($_POST['fecha']);
$fecha=$_POST['fecha'];
IF ($fecha==""){
$fecha="Vacio";
$_POST['fecha']=$fecha;

}
print "$fecha";

$_POST['sector'] = trim($_POST['sector']);
$sector=$_POST['sector'];
IF ($sector==""){
$sector="Vacio";
$_POST['sector']=$sector;

}
print "$sector";





mysql_query("INSERT INTO jos_Sector (fecha,sector,marca,mediocomunicacion,formato,domicilio,gerente,telefono_gerente,email_gerente,responsable_marketing,telefono_responsable_marketing,email_responsable_marketing)
VALUES ($fecha,$sector,'".$_POST['marca']."','".$_POST['mediocomunicacion']."','".$_POST['formato']."','".$_POST['domicilio']."','".$_POST['gerente']."','".$_POST['telefono_gerente']."','".$_POST['email_gerente']."','".$_POST['responsable_marketing']."','".$_POST['telefono_responsable_marketing']."','".$_POST['email_responsable_marketing']."',$link");
2
Hola ! oies lamentablemente ahorita me quede sin maquina y tendre un lap en unos días por lo tanto no puedo ayudarte como quisiera que es ponerte el codigo corregido y explicado pero lo que se me ocurre de momento en lo que alguien te ayuda a solucionarlo es que tu mismo pusiste el tip, cual? facil pusiste un print $sector; me supongo para usarlo como debug o prueba de que la variable sector si estaba almacenando algo, pues como tip haz exactamente eso en tu consulta sql y por que no hasta en los values ya que asi podras ingresar la cadena que te de en tu consola mysql o en tu phpmyadmin y ver cual es el error que esta sucediendo, te explico:

tu codigo:
mysql_query("INSERT INTO jos_Sector (fecha,sector,marca,mediocomunicacion,formato,domicilio,gerente,telefono_gerente,email_gerente,responsable_marketing,telefono_responsable_marketing,email_responsable_marketing)
VALUES ($fecha,$sector,'".$_POST['marca']."','".$_POST['mediocomunicacion']."','".$_POST['formato']."','".$_POST['domicilio']."','".$_POST['gerente']."','".$_POST['telefono_gerente']."','".$_POST['email_gerente']."','".$_POST['responsable_marketing']."','".$_POST['telefono_responsable_marketing']."','".$_POST['email_responsable_marketing']."',$link");

en lugar de eso crea una cadena de tu consulta completa o de tu consulta y tus values como sea seria algo como:

$consulta=""INSERT INTO jos_Sector (fecha,sector,marca,mediocomunicacion,formato,domicilio,gerente,telefono_gerente,email_gerente,responsable_marketing,telefono_responsable_marketing,email_responsable_marketing)
VALUES ($fecha,$sector,'".$_POST['marca']."','".$_POST['mediocomunicacion']."','".$_POST['formato']."','".$_POST['domicilio']."','".$_POST['gerente']."','".$_POST['telefono_gerente']."','".$_POST['email_gerente']."','".$_POST['responsable_marketing']."','".$_POST['telefono_responsable_marketing']."','".$_POST['email_responsable_marketing'].";

print $consulta;

no es necesario que pongas la linea de mysql_query ya que lo que queremos es ver que cadena te genera el php con las variables y probarla ya sea en tu consola mysql o en tu phpmyadmin, en caso de que quieras insertarlo pues pones:

mysql_query($consulta,$link);

ahora bien eso es como que para no salirnos del tema que llevas pero hay algo aun mas facil !!! a tu codigo ingresale capturar el error de mysql con mysql_error o con cualquier comando de captura de errores y veas que esta pasando, como te digo esto es lo superficial y facil que se me ocurre , no me puse detalladamente a observar todo tu codigo pero nuestro mejor amigo cuando programamos es "debugear" y "comentar" nuestro codigo.
un ejemplo que debes adaptar a tu codigo:

mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";

claro en lugar de la consulta del ejemplo puedes poner tu consulta o tu cadena $consulta, recuerda que cuando no capturas los errores pdrias estar teniendo muchos de simple sintaxis y no saberlo por que precisamente no lo estas capturando o imprimiendo etc.
0
Yo Logre que me registrara el valor de un campo SELECT en la base de datos sin embargo cuando en el SELECT hay 2 palabras solo guarda la primera.

Con el siguiente codigo muestro en un SELECT lo que hay en la tabla admusuarios

Cargo:
<?php
$conexion = mysql_connect("localhost","root","");
mysql_select_db("mibasededatos",$conexion);
echo "<select name='cargo'>";
$sql="select cargo from admusuarios";
$result=mysql_query($sql);
$i=0;
while ($row=mysql_fetch_row($result)){
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
?>

Funciona perfecto. Aqui guardo lo que el usuario selecciono:

$cargo=$_POST["cargo"];

$sql="insert into usuarios (cedula,nombres,apellidos,cargo,telefono,login,password,bloqueo) values ('$cedula','$nombres','$apellidos','$cargo','$telefono','$login','$password','$status')";

echo "Se ha registrado el usuario correctamente"."<br>"."<br>";

En la Variable $cargo almaceno la seleccion del SELECT, el detalle esta en que si en el campo SELECT hay "Analista Programador" solo me guarda "Analista".

En que estare fallando???
0
LO HICE ASI Y FUNCIONO....

echo '<select>';
while ($row=mysql_fetch_row($result)){
echo '<option>'.$row[cargo].'</option>';
}
echo "</select>";
0
public function Agregar_Feria(FeriasVO $obj)
{
$rs = "";
$insertQuery = "insert into ".$this->tbl_ferias." (nombre_feria, fecha_inicio, fecha_final, logo, descripcion, pagina_web, horarios, id_cuenta, id_ciudad, id_tipo_estado) values
('".mysql_real_escape_string($obj->_nombre_feria)."',
".date("d/m/Y", $obj->_fecha_inicio).",
".date("d/m/Y", $obj->_fecha_final).",
'".mysql_real_escape_string($obj->_logo)."',
'".mysql_real_escape_string($obj->_descripcion)."',
'".mysql_real_escape_string($obj->_pagina_web)."',
'".mysql_real_escape_string($obj->_horarios)."',
".mysql_real_escape_string($obj->_id_cuenta).",
41515,
2)";
if(!mysql_query($insertQuery))
{
$rs = $this->error_consulta."-Agregar_Feria-".$this->error_devuelto.mysql_error();
}
else
{
$rs = mysql_insert_id();
}
return $rs;
}
0
como guardo una fecha tipo date en Mysql asi no me funciona ok gracias
0
eDwin para lograrlo de forma correcta primero debemos de tomar dos cosas en cuenta como recuperas y obtienes informacion y como la quieres guardar, en el caso que te explico Angel el uso una de las formas posibles que hay para grabar la informacion, ingeniosa, directa, ahora en tu pregunta actual debemos saber lo siguiente :

cuando manejas fechas u horas debes seleccionar si este procedimiento lo vas hacer en formulario puro HTML, JAVA, JS, combinacion, PHP o si de plano usaras una de las funciones Mysql en el momento del grabado, ahora bien ,dependiendo tu seleccion es la forma en que debes hacer la conversion o el ingreso del dato, soy un tanto malo para explicar pero es que hay tantas opciones que me es dificil escoger alguna para explicarte.

Para tu problema habria que analizar tu codigo pero como recomendacion primero verifica si estas usando un campo DATE, o DATETIME por lo que mencionas tienes seguramente un campo DATE.

recuerda que el gran amigo de un programador novato o experto es el hacer el famoso "DEBUG" lo que te recomiendo es que primero imprimas en pantalla la cadena que estas generando para saber si estas generando una cadena correcta y validad independientemente del lenguaje que uses y si lo estas enviando por formulario imprime los parametros recuperados del post o del get, una vez viendo que todo esta correcto entonces podemos imprimir la cadena donde estas almacenando la consulta sql para ver que la cadena sea correcta si no estas usando algun depurador o debug directo del manejador de la abse de datos.

Digamos en pocas palabras que debemos verificar tu cadena o variable de la fecha y la cadena de la consulta de mysql, para no hacerte mas bolas recuerda que existen comandos y hay abismos de diferencias entre comandos de los diversos lenguajes que mencionamos aqui

El tipo DATE se usa cuando necesita sólo un valor de fecha, sin una parte de hora. MySQL recibe y muestra los valores DATE en formato 'YYYY-MM-DD' . El rango soportado es de '1000-01-01' a '9999-12-31'. si este correcto es ilogico o incorrecto en alguno de sus valores lo que grabaras sera 0000-00-00

si quieres hacerlo a prueba y error en tu consulta usa CURDATE() con mayusculas para un campo DATE, o NOW() si usas el campo DATETIME para que veas que si te esta almacendo la base la fecha actual

ejemplo :
$sql = "INSERT INTO tu_tabla (tu_campo_fecha) VALUES (CURDATE())";

o puedes almacenar la fecha que deseas a una variable PHP y esa cadena la ingresas en tu consulta sql por ejemplo

<?PHP $fecha="2010-10-10">
y en tu consulta sql
$sql = "INSERT INTO tu_tabla (tu_campo_fecha) VALUES ($fecha)";

RECUERDA: las funciones deben estar en mayúsculas y tu sintaxis de fecha debe ser correcta, si tienes una cantidad de dias ilogica, o de años, etc lo que te grabara seran ceros

Suerte, saludos y exito, cualquier duda no duen en pegar su grito para que intentemos ayudar. espero te sirva esta informacion.
0
Hola, tuve muchisimos problemas como tu al hacer mis primeros intentos pero desgraciadamente cuando no poseemos la informacion correcta es cuando esos pequeños detalles se nos hacen bastante dificiles, a tu pregunta la respuesta es no, no hay ningun procedimiento especial, probablemente el detalle de tu problema es el metodo que usas para recuperar el datos, hay dos metodos basicos usando :

La directa : @$_REQUEST['cargo']; (@ obvia los warnings util pero arma de doble filo, es decir no te aparecen warnings dependiendo tu server pero es utilisimo igual funciona perfecto sin la @ en lo personal me gusta mucho mas que usar $_post[])
La indirecta es : $cargo=$_POST["cargo"]; ó $cargo=@$_REQUEST['cargo'];

ahora bien si tu problema es el espacio en blanco, lo que tienes que hacer es enviar un value que no contenga espacio y ya donde recuperas el valor poner la cadena con espacio para lo cual hay varios metodos, ademas revisando tu codigo he visto que llenas el campo value con la info de contenido de value, recuerda que cuando no pones "value" en automatico le asigna el contenido de un select al value de ese select (de eso me dieron catedra xD ) por ello podrias intentar asi : echo "<option >".$row[$i]."</option>\n";

ya que asi le asiganara el value por default de $row[$i] y podrias ver si ya no te rompe la cadena con el espacio, en fin suerte !!
0
Solo quiero agradecerte por tu aporte, gracias
0

select * from usuario where username = 'noob' and password = 'noob' or 1=1;--';
0
Hola, estoy intentando insertar una fecha a traves de un formulario php pero tras las validaciones, no me inserta la fecha correctamente en la base de datos ya que me sale todo "0000-00-00", alguno me podría ayudar?

muchas gracias

este es el codigo

<?php

conectar();
$msgError='';
if(!empty($_POST)){

foreach($_POST as $clave => $valor) $$clave = $valor;

if($mail == '' || $password == ''){
$msgError = 'El mail y la contraseña son obligatorios';
}else{

$strSQL="SELECT id_usu from usuarios WHERE mail='$mail'";
if(exeQuery($strSQL)){
$msgError = 'Ya existe otro registro con el mismo mail';
}else{

$strSQL="INSERT INTO usuarios (nombre, apellido, direccion, cod_pos, telefono, mail, dni, fecha, password, rol) VALUES ('$nombre', '$apellido', '$direccion', '$cod_pos', '$telefono', '$mail', '$dni', '$fecha', '$password', '$rol')";

$result = exeNonQuery($strSQL);
desconectar();

if($result){
header('Location: formRegistro.php');
}else{
die('HA OCURRIDO UN ERROR AL INSERTAR');
}
}
}
}
?>

<!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>
<?php echo $msgError; ?>
<form id="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" name="form1" method="post">
<table width="497" border="1">
<tr>
<td width="256">Nombre:</td>
<td width="225">
<input type="text" id="nombre" name="nombre" value="" />
</td>
</tr>
<tr>
<td>Apellido:</td>
<td>
<input type="text" id="apellido" name="apellido" value="" />
</td>

</tr>
<tr>
<td>Fecha de nacimiento (dd-mm-aaaa)</td>
<td>
<input type="text" id="fecha" name="fecha" value="" maxlength="10"/>
</td>
</tr>
<tr>
<td>Teléfono</td>
<td>
<input type="text" id="telefono" name="telefono" maxlength="13" value="" />
</td>
</tr>
<tr>
<td>Dirección</td>
<td>
<input type="text" id="direccion" name="direccion" value="" />
</td>
</tr><tr>
<td>Código postal:</td>
<td>
<input type="text" name="cod_pos" id="cod_pos" maxlength="5" value="" />
</td>
</tr>
<tr>
<td>DNI</td>
<td>
<input type="text" id="dni" name="dni" maxlength="10" value="" />
</td>
</tr>
<tr>
<td>Mail</td>
<td>
<input type="text" id="mail" name="mail" value="" />
</td>
</tr>
<tr>
<td></td>
<td>
<select id="rol" name="rol">
<option value="ADMINISTRADOR">ADMINIATRADOR</option>
<option value="USUARIO">USUARIO</option>
</select>
</td>
</tr>
<tr>
<td>Contraseña</td>
<td><input name="password" type="password" id="password" value="" maxlength="15" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="button" value="Insertar" onClick="validarFormulario()" />
<input type="button" value="Cancelar" OnClick="history.back()"/>
</td>
</tr>
</table>

</form>

<?php desconectar(); ?>
</body>
</html>
0
Hola, tu fecha esta mal !!! la sintaxis correcta es aaaa-mm-dd y la estas poniendo alrevez , si un dato no es logico para mysql te pone ceros.

te pongo un resumen de lo que le explique a edwin

Digamos en pocas palabras que debemos verificar tu cadena o variable de la fecha y la cadena de la consulta de mysql, para no hacerte mas bolas recuerda que existen comandos y hay abismos de diferencias entre comandos de los diversos lenguajes que mencionamos aqui

El tipo DATE se usa cuando necesita sólo un valor de fecha, sin una parte de hora. MySQL recibe y muestra los valores DATE en formato 'YYYY-MM-DD' . El rango soportado es de '1000-01-01' a '9999-12-31'. si este correcto es ilogico o incorrecto en alguno de sus valores lo que grabaras sera 0000-00-00

si quieres hacerlo a prueba y error en tu consulta usa CURDATE() con mayusculas para un campo DATE, o NOW() si usas el campo DATETIME para que veas que si te esta almacendo la base la fecha actual

ejemplo :
$sql = "INSERT INTO tu_tabla (tu_campo_fecha) VALUES (CURDATE())";

o puedes almacenar la fecha que deseas a una variable PHP y esa cadena la ingresas en tu consulta sql por ejemplo

<?PHP $fecha="2010-10-10">
y en tu consulta sql
$sql = "INSERT INTO tu_tabla (tu_campo_fecha) VALUES ($fecha)";

RECUERDA: las funciones deben estar en mayúsculas y tu sintaxis de fecha debe ser correcta, si tienes una cantidad de dias ilogica, o de años, etc lo que te grabara seran ceros
0
para la fecha ponle el metodo (now) en la tabla de la base de datos
table .....(
id....................
nom...............
fecha now,
hora now,
si kieres sigues llenado mas pero con el now te captura la fecha k as echo la insercion e smu segura espero te ayude
)
0
oyga tengo un problema es en mi formulario de php no puedo ver mi comentario
en documento de php
0
Hola, como que tu pregunta nos dejo abierto un universo de posibilidades, no puedes verlo por trillones de factores, que no lo estes imprimiendo, que no lo estes guardando, que .... en fin es como si te dijera mi computadora no sirve que sera?
0
hola hola aqui con un proble, todo lo tengo bien, me conecto a mi base de datos y guarda los datos, pero en un campo que declare como fecha no me ingresa los datos que son, es decir le ingreso numeros y letras y me sale un mensaje que no se conose la columna y si le mando numeros como una fecha(2010-10-02) me aparesen numeros decimales y negativos (-19925, 1.2245566, etc), apesar de que tengo declarada esta variable como varchar no es entera ni nada de eso es varchar ... que pasa ahi??????
0
OYE PREGUNTO ALGO

EN EL CAMPO DE INSERTAR TABLA

seri

$sql = mysql_query("INSERT INTO info (Id, nombre, password) VALUES ('','".$_REQUEST["in_nombre"]."','".$_REQUEST["in_password"]."') ");
if (!$sql)
despues de la cadena de conexion

lo escrito en dreamwaver y noda que hago en ese caso
0
Asi es, de hecho del stio que les puse ahi pueden bajar el codigo pero estas en lo correcto :
<?php
include 'conexion.inc';
if ($_REQUEST["in_nombre"])
{
$sql = mysql_query("INSERT INTO info (Id, nombre, password) VALUES ('','".$_REQUEST["in_nombre"]."','".$_REQUEST["in_password"]."') ");
if (!$sql)
{
die('Consulta invalida: ' . mysql_error());
}
etc etc etc ....sobre lo de dreamweaver lo gente tiene un fanatismo con ese programa, no digo que tu lo tengas pero a veces los ides o desarrolladores de codigo no son tan buena idea como parecen, me supongo que dreamweaver tendra algo como vista preliminar etc pero esas cosas no funcionan nunca bien dependiendo tu sistema y lo que lo rodea, te recomiendo lo pruebes en vivo en algun server o instalate appserv en tu maquina, si quieres te pongo el codigo en un zip para que lo descargues solo dame unas horas, acabo de terminar un sistema de inscripciones en linea y estamos observando el proceso en este momento, ya te imaginas lo importante que es esto.
0
No se utiliza el método POST por ser inseguro en la red, usar el metodo GET.
0
Hola kiker no se donde hayas leido eso pero estas equivocado, con el metodo get se envian los datos por url osea cualquiera los puede ver y cualquiera los puede modificar, con lo cual puedes hacer injeccion sql, modificacion de codigo, y te puedo decir cientos de desventajas, eso sin incluir el tamaño del buffer de envio, y el tipo de datos que se pueden enviar por ese metodo.
El metodo post es mucho mas grande, puedes enviar texto no necesariamente plano, y lo mejor de todo que es oculto por ende si no conoces la variable dificilmente podras observarla, modificarla etc etc almenos que la declares como global y que hagas metodos muy engorrosos para intentar obtener esos campos y su contenido, no digo que no se pueda pero es muchas veces mas dificil por ende el metodo POST es considerado no por mi si no por expertos en el metodo mas seguro respecto a los formularios.
0
Message postés
136
Date d'inscription
viernes, 22 de mayo de 2009
Estatus
Miembro
Última intervención
martes, 19 de mayo de 2020
68
fijate en este tutorial y podras hacer so y mucho mas http://www.comocrearmiweb.com/2012/12/sistema-de-noticias-con-php-y-mysql.html
0
Message postés
2227
Date d'inscription
viernes, 4 de abril de 2008
Estatus
Miembro
Última intervención
sábado, 1 de noviembre de 2008
1.557
Hola

Podes grabar kas bases de datos en cun CD
-2
lo unico que debes hacer es asignarle un nombre al select asi(select name="nombre") y posteriormente grabar en la base de datos utilizando el nombre que le asignes al select.
0
Hola, por supuesto que claro que si, solo pones un cd virgen en el cadi o bandeja de tu quemador yy por supuesto lo cierras, en tu explorador de archivos de windows arrastras la base que desees y le das en el menu archivo grabar estos datos en un cd, o puedes usar nero, easy creator u uno de las miles herramientas de grabado, tu pregunta es demasiado geenrica, ahora bien para crear tu archivo con la base de datos hay decenas de opciones, no mencionas en que esta tu base si en access, sql, firebird, bla bla
por lo que manejan aqui en estos comentarios lo mas seguro es que sea sql y puedes generar un archivo mediante phpmyadmin, o utilizando directamente la consola de manejo de bases de datos, e incluso dependiendo tu servidor puedes copiar la carpeta data de tu base, si es acces de microsoft pues ya te genera un archivo mdb que puedes quemar y ya, si es de firebird puedes generar con su terminal el archivo, en fin , sean especificos.
0
Tengo un problema cundo lo suvo al servido meda error y pregundo si alguien sabe como crer base de datos en el servidor msql espero que me ayudeis
0
hijoles, espero no me lo tomen a mal pero las ultimas preguntas han sido un tanto abstractas y muyyyy abiertas.
Primero : ¿cuando subes al servidor que cosa ?
Segundo : ¿crear una base de datos en un servidor mysql por medio de terminal o por medio de un sistema en profesional PHP o por medio de tu programa y en que lenguaje?

Por ello con respecto a la segunda posible pregunta te puedo decir que si lo haces desde tu terminal de linux solo debes iniciar tu servicio mysql y teclear en su prompt

mysql> CREATE DATABASE nombrequequieras;

si no hay problemas te saldra lo siguiente:
Query OK, 1 row affected (0.00 sec)

y simplemente te sales de tu servicio mysql:

Si lo vas hacer desde un programa profesional, comercial, etc usa por ejemplo phpmyadmin y simplemente te vas a la opcion "create database" o "crear base de datos" le das el nombre y listo

si lo vas hacer des tu programa en lenguaje digamos PHP deberas poner la instruccion
CREATE DATABASE nombrequequieras;
dentro de una cadena a ejecutar como código es decir
sql="CREATE DATABASE nombrequequieras;"

he obviado muchisimas cosas como adignarle usuarios, permisos, codigos completo ya que como te digo tu pregunta esta demasiado abierta es como decirte mi carro se detuvo, que hago?

Ojala te sirva esto.
0