07/04/2013, 10:14
|
| | Fecha de Ingreso: febrero-2013
Mensajes: 11
Antigüedad: 11 años, 9 meses Puntos: 0 | |
Problema con formulario... Hola amigos, hace soy completamente novato en mysql y php. Necesito crear un formulario para ingresar los satos en una tabla de mysql, la cual contiene los registros:
nombre
clave
email
celular
posicion
tabla
user_status
fecha
logre armar con info de este foro un formulario asì:
<?php
include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
// creamos una función que nos parmita validar el email
function comprobar_email($email){
$mail_correcto = 0;
//compruebo unas cosas primeras
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}
}
}
}
}
if ($mail_correcto)
return 1;
else
return 0;
} // Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($_POST['nombre'], 1);
if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
echo "El campo <em>nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['clave'])) { // comprobamos que el campo usuario_clave no esté vacío
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['clave'] != $_POST['clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!comprobar_email($_POST['email'])) { // validamos que el email ingresado sea correcto
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$nombre = mysql_real_escape_string($_POST['nombre']);
$clave = mysql_real_escape_string($_POST['clave']);
$email = mysql_real_escape_string($_POST['email']);
$celular = mysql_real_escape_string($_POST['Celular']);
$fecha = mysql_real_escape_string($_POST['fecha']);
$posicion = mysql_real_escape_string($_POST['posicion']);
$tabla = mysql_real_escape_string($_POST['tabla']);
// comprobamos que el usuario ingresado no haya sido registrado antes
$sql = mysql_query("SELECT nombre FROM investors1 WHERE nombre='".$nombre."'");
if(mysql_num_rows($sql) > 0) {
echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$clave = md5($clave); // encriptamos la contraseña ingresada con md5
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO investors1 (nombre, clave, email, Celular, posicion, tabla, fecha) VALUES ('".$nombre."', '".$clave."', '".$email."', '".$Celular."', '".$posicion."', '".$tabla."', '".$fecha."', NOW())");
if($reg) {
echo "Datos ingresados correctamente.";
}else {
echo "ha ocurrido un error y no se registraron los datos.";
}
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Usuario:</label><br />
<input type="text" name="nombre" maxlength="15" /><br />
<label>Contraseña:</label><br />
<input type="password" name="clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</label><br />
<input type="password" name="clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="email" maxlength="30" /><br />
<label>Celular:</label><br />
<input type="text" name="Celular" maxlength="10" /><br />
<label>Posición:</label><br />
<input type="text" name="posicion" maxlength="15" /><br />
<label>Tabla:</label><br />
<input type="text" name="tabla" maxlength="5" /><br />
<input type="submit" name="enviar" value="Registrar" />
<input type="reset" value="Borrar" />
</form>
<?php
}
?>
Pero me vota "ha ocurrido un error y no se registraron los datos."
Les agradezco me ayuden a hallar el error, ya que le he dado vueltas y no logro hallarlo.
Gracias |