Insertar Datos en una Base de Datos

Espero que me puedas ayudar con este tema.. Te cuento lo que tengo armado..
Tengo un sitio desarrollado en Dreamweaver que maneja Base de Datos..
Tengo armado todo lo que se refiere a Dar de alta registros en la base de datos y me esta funcionando muy bien.
El tema ahora es que uno de los campos de este formulario tiene que ser una imagen que se debe seleccionar con un boton Examinar... Y por una lado necesito que esta imagen se suba a una carpeta específica del servidor y por otro lado que en la base de datos me quede la referencia a esta imagen.
Yo tengo armado las dos formularios ( el de alta de registros y el de subir imagenes al servidor ) en forma separada y me estan funcionando bien..
Mi PROBLEMA es que cuando los junto a los dos me empiezan a dar errores..
Tendras algo que me ayude..¿? Tal vez ya tengas algo armado y lo pueda probar

1 respuesta

Respuesta
1
¿Qué error te da cuando juntas los formularios? Si no me los especificas porca idea me voy a hacer de la que has armado...
Hola Gracias por tu pronta respuesta..
En realidad te voy a pasar lo que me esta funcionando bien pero creo que no es práctico para el usuario.. ya que por una lado tengo un formulario de inserción de registro armado en Dreamweaver y por otro lado un tengo un form que me carga la foto al servidor y me pasa el nombre al primer formulario..
Para que te des cuenta de lo que me esta pasando por favor entra a
http://www.colfasj.com.ar/imprimi/alta_central.php y veras lo que te digo:
El codigo del archivo alta_central.php es: ( ESTE ESTA ARMADO EN DREAMWEAVER )
<?php require_once('../Connections/Imprimi_Conn.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 = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO negocios (referencia, titulo, categoria, descripcion_corta, descripcion_larga, imagen_chica, direccion, telefono, email, pagina_web, estado) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['ref'], "text"),
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString($_POST['categoria'], "text"),
                       GetSQLValueString($_POST['descripcion_corta'], "text"),
                       GetSQLValueString($_POST['descripcion_larga'], "text"),
                       GetSQLValueString($_POST['imagen'], "text"),
                       GetSQLValueString($_POST['direccion'], "text"),
                       GetSQLValueString($_POST['telefono'], "text"),
                       GetSQLValueString($_POST['email'], "text"),
                       GetSQLValueString($_POST['web'], "text"),
                       GetSQLValueString($_POST['GrupoOpciones1'], "text"));
  mysql_select_db($database_Imprimi_Conn, $Imprimi_Conn);
  $Result1 = mysql_query($insertSQL, $Imprimi_Conn) or die(mysql_error());
  $insertGoTo = "registro_insertado.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['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>Imprimi Descuentos - Administrador</title>
<style type="text/css">
<!--
#Layer1 {
 position:absolute;
 left:24px;
 top:18px;
 width:299px;
 height:121px;
 z-index:1;
}
.Estilo12 {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 12px;
 font-weight: bold;
}
.Estilo14 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #FF0000; }
#Layer2 {
 position:absolute;
 left:7px;
 top:45px;
 width:543px;
 height:421px;
 z-index:1;
}
.Estilo15 {font-family: "Bauhaus Md BT";
 color: #FFFFFF;
 font-size: 18px;
 font-weight: bold;
}
#Layer3 { position:absolute;
 left:0px;
 top:13px;
 width:663px;
 height:25px;
 z-index:2;
}
body {
 background-color: #f7fbdb;
}
.Estilo19 {font-family: "Bauhaus Md BT"; font-size: 16px; font-weight: bold; }
.Estilo20 {color: #FF0000}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
</head>
<body>
<div id="Layer2">
  <form id="form1" name="form1" method="post" action="<?php echo $editFormAction; ?>">
    <label></label>
<p class="Estilo14"><a href="administrador.php" target="_top">Volver Menú </a></p>
<table width="70%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="39%"><span class="Estilo19"> <span class="Estilo20">*</span> Referencia:</span></td>
<td width="61%"><span class="Estilo12">
          <input name="ref" type="text" id="ref" size="10" />
        </span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td><span class="Estilo19"><span class="Estilo20">*</span> Titulo Aviso:</span></td>
<td><span class="Estilo12">
          <input name="titulo" type="text" id="titulo" size="75" />
        </span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td><span class="Estilo19"><span class="Estilo20">*</span> Categoría:</span></td>
<td><span class="Estilo12">
          <select name="categoria" size="1" id="categoria">
            <option value="bebidas">Bebidas</option>
            <option value="computacion">Computación</option>
            <option value="deportes">Deportes</option>
            <option value="electronica">Electrónica</option>
            <option value="fiestas">Fiestas y Eventos</option>
            <option value="gastronomia">Gastronomía</option>
            <option value="hogar">Hogar</option>
            <option value="indumentaria">Indumentaria</option>
            <option value="joyas">Joyas</option>
            <option value="oficina">Oficinas y Escolares</option>
            <option value="regalos">Regalos</option>
            <option value="salud">Salud</option>
          </select>
        </span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td><span class="Estilo19"><span class="Estilo20">*</span> Descripción Corta: (470 caracteres Max) </span></td>
<td><span class="Estilo12">
          <textarea name="descripcion_corta" cols="57" id="descripcion_corta"></textarea>
        </span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td height="38"><span class="Estilo19">  Descripción Larga:(800 caracteres Max)</span></td>
<td><span class="Estilo12">
          <textarea name="descripcion_larga" cols="57" id="descripcion_larga"></textarea>
        </span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td><span class="Estilo19">Dirección:</span></td>
<td><input name="direccion" type="text" id="direccion" size="75" /></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8" class="Estilo12"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td class="Estilo19">Teléfono</td>
<td><label>
          <input name="telefono" type="text" id="telefono" size="75" />
        </label></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8" class="Estilo19"><img src="spacer.gif" width="1" height="10" /><img src="spacer.gif" width="100" height="10" /></td>
</tr>
<tr>
<td class="Estilo19">Email</td>
<td><label>
          <input name="email" type="text" id="email" size="75" />
        </label></td>
</tr>
<tr>
<td colspan="2" class="Estilo19"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8" class="Estilo19"><img src="spacer.gif" width="100" height="10" /></td>
</tr>
<tr>
<td class="Estilo19">Página web:</td>
<td><input name="web" type="text" id="web" size="75" /></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8" class="Estilo12"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td class="Estilo19"><span class="Estilo20">*</span> Imágen_chica:</td>
<td><label>
<div align="left">
            <input name="imagen" type="text" id="imagen" size="57" />
            <span class="Estilo12" onfocus="MM_openBrWindow('subir_foto.php','','status=yes,width=670,height=170')"><a href="#" onclick="MM_openBrWindow('subir_foto.php','','status=yes,width=570,height=100')">Insertar Foto</a></span> </div>
          </label></td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8" class="Estilo12"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td class="Estilo19">Imágen_grande:</td>
<td> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#E8E8E8"><img src="../spacer.gif" width="1" height="10" /></td>
</tr>
<tr>
<td bgcolor="#E8E8E8"><span class="Estilo19"><span class="Estilo20">*</span> Estado</span></td>
<td bgcolor="#E8E8E8">
<p>
          <label>
            <input type="radio" name="GrupoOpciones1" value="vigente" />
            Vigente</label>
          <br />
          <label>
            <input type="radio" name="GrupoOpciones1" value="suspendido" />
            Suspendido</label>
          <br />
        </p>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#F7FBDB" class="Estilo14"> </td>
</tr>
<tr>
<td bgcolor="#E8E8E8" class="Estilo14">
<div align="right">*</div>
</td>
<td bgcolor="#E8E8E8" class="Estilo14">Requerido</td>
</tr>
</table>
<p>
      <input type="submit" name="Submit" value="Dar de Alta" />
      <input type="submit" name="Submit2" value="Restablecer " /></p>
    <label><br />
    <br />
    </label>
    <label></label>
    <label></label>
    <input type="hidden" name="MM_insert" value="form1" />
  </form>
</div>
<div id="Layer3">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#003399">
<div align="center"><span class="Estilo15">Formulario  para Alta en la Base de Datos </span></div>
</td>
</tr>
</table>
</div>
</body>
</html>
**********************
y el codigo del archivo subir_foto.php es el siguiente:
<!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>Imprimi Descuentos - Subir Archivo</title>
<style type="text/css">
<!--
body {
 background-color: #f7fbdb;
}
-->
</style>
</head>
<body>
<p>
<?php
if(isset($_FILES['fichero']['name'])){
$nombre_archivo=$_FILES['fichero']['name'];
//echo $nombre_archivo;
if(move_uploaded_file($_FILES['fichero']['tmp_name'],"imagenes_chicas/" . $nombre_archivo)){
echo "El Archivo fue Cargado.";
}else{
echo "EL ARNO HA SIDO CARGADO.";
}
?>
<script>
function cierra(){
window.opener.form1.imagen.value="<?php echo $nombre_archivo;?>"
}
</script>
<br /><a href="#" onclick="cierra()">cerrar ventana </a>
<?php
}else{
?>
</p>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
  <label>
  <input name="fichero" type="file" id="fichero" size="60" />
  </label>
<p><label></label>
    <label>
    <input type="submit" name="Submit" value="Gargar..." onclick="cierra()" />
    </label>
  </p>
</form>
<p> </p>
<?php
}
?>
<p> </p>
</body>
</html>
********************
Este ultimo lo arme de un curso que consegui en internet..
ESto como ves funciona muy bien lo que a mi me interesa es juntar los dos formaularios y  que en el primero cuando estoy haciendo la insercion de los registro.. al seleccionar la imagen se me cargue al servidor directamente al hace clik en el boton de insertar registro.. sin tener la necesidad de usar un segundo formulario
Mi msn de hotmail es [email protected]
Gracias por tu ayuda
Marcelo
No veo por que deba producirse error alguno cuando juntas ambos formularios. Lo unico que tienes que hacer es lo siguiente:
Introduce en la página de inserción la sección de creación de foto, excepto las partes <form> y </form>. Dejalo todo en un solo formulario asi:
<form id="form1" name="form1" method="post" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data">
...
<input name="ref" type="text" id="ref" size="10" />
...
<input name="fichero" type="file" id="fichero" size="60" />
...
<input type="submit" name="Submit" value="Dar de Alta" />
</form>
Los "..." son partes de tus antiguas paginas, que debes unificar.
Pruebalo y me comentas. Si te falla, no me vuelvas a pasar algo que funciona, porque si no falla, no hay nada que arreglar, ¿ok? Pásame el codigo de error que te dá.
hola Gracias por tu respuesta.. Te sigo molestando..
Si junto los dos formularios no me da error salvo que al hacer clik en insertar registro me dice que el campo imagen no puede ser nulo.. ( yo puse en el servidor que no podia ser nulo ).. es decir que si bien el boton examinar me muestar la imagen a subir.. en realidad no la sube.. ( me parece logico ya que no hay ningun codigo en php que haga esto )
Si en cambio pongo el codigo que me funciona por separado en esta pagina es cuando me da el error
<?php
if(isset($_FILES['imagen_chica']['name'])){
$nombre_archivo=$_FILES['imagen_chica']['name'];
echo $nombre_archivo;
if(move_uploaded_file($_FILES['fichero']['tmp_name'],"imagenes_chicas/" . $nombre_archivo)){
echo "El Archivo fue Cargado.";
}else{
echo "EL archivo HA SIDO CARGADO.";
}
?>
y al visualizar el archivo me sale
Parse error: syntax error, unexpected $end in /home/colfa/public_html/imprimi/alta_central1.php on line 201 y la linea 201 no tiene nada es la siguente a la linea de cierre
</html>
No tendras vos un formulario que este funcionado con esta aplicacion ? que inserte y suba imagenes GRACIAS por tu ayuda
Marcelo
El Mensaje de Error es evidente... te falta un "}" al final del código...
if(isset($_FILES['imagen_chica']['name'])){
   $nombre_archivo=$_FILES['imagen_chica']['name'];
   echo $nombre_archivo;
   if(move_uploaded_file($_FILES['fichero']['tmp_name'],"imagenes_chicas/" . $nombre_archivo)){
echo "El Archivo fue Cargado.";
}
else{
   echo "EL archivo HA SIDO CARGADO.";
}
Este -> } (correspondiente al if(isset($_FILES...)
Cierra ese if y el error deberá desaparecer.
Hola Hice lo que me dijiste y el error desaparecio.. Pero al juntar los dos formularios .. me sigue dando el error de que el campo imagen no puede ser nulo ( yo puse esa restriccion en la pagina )
No tendrias un codigo ya armado que me permita hacer esto ?
gracias
Si la restricción la pusiste tu, ¿dónde esta en el codigo, porque no la veo?. Es muy lógico que si tu forzaste que la imagen es requerida, te falle o te avise si no la facilitas, ¿no?
¿Dónde esta esa restriccion en el codigo? No la veo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas