Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/11/2011, 08:47
orw28
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No registra datos de php a mysql

Hola de nuevo.. Bueno les cuento que mi codigo ya registra todo bien en la base de datos. Les dejo aqui el codigo: (incluida las validaciones que hago)

<!-- **********COMIENZA REGISTRO DE libros**********-->
<?php
//Conecto con la BD..
require("conexion.php");

if (isset($_POST['registrar'])){
//Aqui defino las variables que me guardan los valores que registro en las cajas de texto en el formulario...
$nomb=$_POST['nombre'];
$prec=$_POST['precio'];
$edit=$_POST['editorial'];
$aut=$_POST['autor'];
$resu=$_POST['resumen'];
$descrip=$_POST['descripcion'];
$img= $_FILES['txtimagen'] ['name']; //aca me dice que la variable txtimagen no esta definida

// Validar si el registro ya existe en la base de datos. Si existe, semuestra un mensaje...
$validar= "SELECT * FROM libros WHERE titulo='$nomb'";
$resultado=mysql_query($validar);

if (mysql_num_rows($resultado) == 0) {
//Insertamos el Registro en la Base de Datos..
move_uploaded_file($_FILES['txtimagen'] ['tmp_name'],"libros_img/".$_FILES['txtimagen']['name']); //aca tambien me da error de variable txtimagen indefinida..

$strsql= "INSERT INTO libros (titulo, resumen, descripcion_completa, precio, editorial, imagen, autor) VALUES ('$nomb','$resu','$descrip','$prec','$edit','Libro s_img/$img','$aut')";
$result=mysql_query($strsql);
echo "<script> alert ('Libro registrado exitosamente')</script>";
}
else { echo "<script> alert ('Libro ya Existe')</script>"; }
}
?>

<HTML>
<HEAD>
<title>Agregar Libro</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen"/>
</HEAD>


<BODY id="cuerpo" >
<div id="general">
<!-- ******************* SUPERIOR *************************-->

<div id="superior">
<div id="superior1">
<?php
require("menusuperior.php");
?>
</div>
</div>

<!-- *************CUERPO CENTRAL ****************-->
<div id="centralcompleto">
<SCRIPT language="javascript">

<!-- **********VALIDACIONES*************-->

function validar(){
//Defino variables para las validaciones
var val_esp_nomb = document.getElementById("nombre").value; /*Variable que evalua que no sean solo espacios en blanco*/
var val_sololetras = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s)+$/ /*Variable que contiene solo letras y espacios en blanco*/
var val_esp_edit = document.getElementById("editorial").value; /*Variable que evalua que no sean solo espacios en blanco*/
var val_esp_aut = document.getElementById("autor").value; /*Variable que evalua que no sean solo espacios en blanco*/
var val_esp_prec = document.getElementById("precio").value; /*Variable que evalua que no sean solo espacios en blanco*/
var val_letrasynum = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|[0-9])+$/ /*Variable que contiene solo letras y numeros*/
var val_numeros = /^([0-9])+$/ /*Variable que contiene solo numeros*/
var val_esp_res = document.getElementById("resumen").value; /*Variable que evalua que no sean solo espacios en blanco*/
var val_esp_descrip = document.getElementById("descripcion").value; /*Variable que evalua que no sean solo espacios en blanco*/

//Valido que el campo NOMBRE no esté vacio...
if (document.form2.nombre.value.length==0){
alert("Tiene que escribir el nombre del libro");
document.form2.nombre.focus();
return 0;
}

//Valido que el campo NOMBRE no contenga solo espacios en blanco
if (/^\s+$/.test(val_esp_nomb)) {
alert('El contenido del campo NOMBRE no pueden ser solo espacios en blanco');
return false;
}

//Valida el contenido del campo NOMBRE.. Que solo contenga letras, y espacios en blanco
if (!val_sololetras.test(form2.nombre.value)) {
alert('El contenido del campo NOMBRE no es válido.');
return false;
}

//Valido que el campo EDITORIAL no esté vacio...
if (document.form2.editorial.value.length==0){
alert("Tiene que escribir la editorial del libro");
document.form2.editorial.focus();
return 0;
}

//Valido que el campo EDITORIAL no contenga solo espacios en blanco
if (/^\s+$/.test(val_esp_edit)) {
alert('El contenido del campo Editorial no pueden ser solo espacios en blanco.');
return false;
}

//Valida el contenido del campo EDITORIAL.. Que solo contenga letras, y espacios en blanco
if (!val_sololetras.test(form2.editorial.value)) {
alert('El contenido del campo Editorial no es válido.');
return false;
}

//Valido que el campo AUTOR no este vacio....
if (document.form2.autor.value.length==0) {
alert("Tiene que escribir el autor");
document.form2.autor.focus();
return 0;
}

//Valido que el campo AUTOR no contenga solo espacios en blanco
if (/^\s+$/.test(val_esp_aut) ) {
alert('El contenido del campo Autor no pueden ser solo espacios en blanco.');
return false;
}

//Valida el contenido del campo AUTOR.. Que solo contenga letras, y espacios en blanco
if (!val_sololetras.test(form2.autor.value)) {
alert('El contenido del campo Autor no es válido.');
return false;
}

//Valido que el campo PRECIO no este vacio....
if (document.form2.precio.value.length==0) {
alert("Tiene que escribir el precio del libro");
document.form2.precio.focus();
return 0;
}

//Valido que el campo PRECIO no contenga solo espacios en blanco
if(/^\s+$/.test(val_esp_prec) ) {
alert('El contenido del campo Precio no pueden ser solo espacios en blanco.');
return false;
}

//Valido que el campo PRECIO, contenga solo numeros, sin espacios en blanco..
if (!val_numeros.test(form2.precio.value)) {
alert('El contenido del campo Precio no es válido.');
return false;
}

//Valido que el campo RESUMEN no esté vacio...
if (document.form2.resumen.value.length==0){
alert("Tiene que escribir un resumen del libro");
document.form2.resumen.focus();
return 0;
}

//Valido que el campo RESUMEN no contenga solo espacios en blanco
if (/^\s+$/.test(val_esp_res)) {
alert('El contenido del campo Resumen no pueden ser solo espacios en blanco');
return false;
}

//Valida el contenido del campo RESUMEN.. Que solo contenga letras, y espacios en blanco
if (!val_sololetras.test(form2.resumen.value)) {
alert('El contenido del campo Resumen no es válido.');
return false;
}

//Valido que el campo DESCRIPCION no esté vacio...
if (document.form2.descripcion.value.length==0){
alert("Tiene que escribir la descripcion del libro");
document.form2.descripcion.focus();
return 0;
}

//Valido que el campo DESCRIPCION no contenga solo espacios en blanco
if (/^\s+$/.test(val_esp_descrip)) {
alert('El contenido del campo Descripcion no pueden ser solo espacios en blanco');
return false;
}

//Valida el contenido del campo DESCRIPCION.. Que solo contenga letras, y espacios en blanco
if (!val_sololetras.test(form2.descripcion.value)) {
alert('El contenido del campo Descripcion no es válido.');
return false;
}

//el formulario se envia
document.form2.submit();
}
</SCRIPT>


<!-- *************COMIENZA FORMULARIO**********-->
<BR>
<h3 class="title2" align="center">Introduzca los datos del nuevo Libro:</h3><BR>
<FORM name="form2" action="agregarlibro.php" method="POST">


<div id="tablaregistro">
<table width="300" border="0" cellspacing="20">

<tr width="60%">
<td>Nombre:</td>
<td><input name="nombre" type="text" id="nombre" size="30"></td>
<td>Editorial:</td>
<td><input name="editorial" type="text" id="editorial" size="30"></td>
</tr>

<tr>
<td>Autor:</td>
<td><input name="autor" type="text" id="autor" size="30"></td>
<td>Precio:</td>
<td><input name="precio" type="text" id="precio" size="10"><td>BsF</td></td>
</tr>

<tr>
<td>Resumen:</td>
<td><input name="resumen" id="resumen" size="30"></td>
<td>Descripcion:</td>
<td><input name="descripcion" id="descripcion" size="30"></td>
</tr>

<tr>
<td>Imagen:</td>
<td><input type="file" tipe"txtimagen" name="txtimagen"></td>
</tr>

</table>
</div>
<BR>
<BR>
<div id="botones">
<table>
<tr>
<td><input type="submit" value="Registrar" name="registrar" onClick="validar()"></td>
<td><input type="reset" name="borrar" value="Borrar"></td>
<BR>
</tr>
</table>
</div>
</FORM>
</div>

<!-- ************************** INFERIOR *************************-->

<div id="inferior">
</div>
</div>
</BODY>
</HTML>


PEEEEEROO todavia tengo dos incovenientes:

1ero: A pesar de que me registra bien los datos en la BD, sucede esto: cuando cargo la pagina del form por primera vez, esta todo bien, lleno el form, le doy al boton registrar y me muestra el alert de javascript indicando que el registro fue exitoso, y me recarga la pagina de nuevo, hasta ahi todo bien, pero en el momento en que recarga la pagina del formulario de nuevo me da error de variable indefinida "imagen", lo raro es que registro de nuevo y a pesar de que muestra los errores me registra bien. No entiendo que pasa con eso....

y 2do: creo que tengo que colocar un controlador, condicional o algo a mi alert de "libro registrados exitosamente", ya que en lo que recargo la pagina, muestra el mensaje inmediatamente sin haber hecho ningun registro..

Me pueden ayudar?? Dejo en rojo las partes que dan error o incovenientes..

Y gracias por las ayudas anteriores.

Saludos =)