Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema - insertar ruta de imagen en bd mysql

Estas en el tema de problema - insertar ruta de imagen en bd mysql en el foro de PHP en Foros del Web. hola a todos... Estoy probando de hacer como un catalogo de productos... el tema que cdo tengo el formulario para insertar los productos tengo problemas ...
  #1 (permalink)  
Antiguo 01/09/2008, 22:27
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
problema - insertar ruta de imagen en bd mysql

hola a todos...
Estoy probando de hacer como un catalogo de productos...
el tema que cdo tengo el formulario para insertar los productos tengo problemas para poner la imagen en una carpeta llamada fotos, y que en la base de datos se inserte la ruta para después verla.

Les paso el código por si quieren verlo y me ayudan.
gracias!

Código PHP:
 
<?php

/* ******************** INICIO FUNCIONES PHP ******************** */
require('config.php');

$directori_foto "fotos/"

function 
get_select_tree($root,$dblink,$name,$compare=0){
        
//Obtener los valores izq y der de la raiz - parametro.
        
if ($root==0){
            
$resultmysql_query("SELECT lft,rgt FROM secciones WHERE padre is null",$dblink);
        } else {
            
$resultmysql_query("SELECT lft,rgt FROM secciones WHERE id=$root",$dblink);
        }
        
$row=mysql_fetch_array($result);

        
//Empezar con una pila derecha vacia.
        
$right=array();
        
//Obtener todos los descendentes del nodo raiz.
        
$result=mysql_query("SELECT * FROM secciones WHERE lft BETWEEN ".$row["lft"]." AND ".$row["rgt"]." ORDER BY lft ASC",$dblink);
        
//Mostrar cada fila
        
echo "<select name='$name'>\n";
        while (
$row=mysql_fetch_array($result)){
            
//Solo chequear la pila si hay alguno.
            
if (count($right)>0){
                
//chequear si debemos eliminar algun nodo de la pila.
                
while ($right[count($right)-1]<$row["rgt"]){array_pop($right);}
            }
            
//Mostrar el titulo del nodo indentado. y seleccionado si coincide con compare
            
if ($compare != && $row["id"]==$compare){
                echo 
"<option value='".$row["id"]."' selected>".str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;',count($right)).$row["nombre"]."</option>\n";
            } else {
                echo 
"<option value='".$row["id"]."'>".str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;',count($right)).$row["nombre"]."</option>\n";
            }
            
//Añadir este nodo a la pila
            
$right[]=$row["rgt"];
        }
        echo 
"</select>\n";
    }

/* Esta funcion guardara el nuevo enlace pendiente en la tabla solicitudes para luego ser aceptada o no. */

function save_url($fields,$hostname,$username,$password,$databasename){
        
$link mysql_connect($hostname,$username,$password)
          or die(
"Could not connect: " mysql_error());
           
mysql_select_db($databasename$link) or die ( mysql_error());
        
        
$sql "INSERT INTO
                        `solicitudes`
                        ( `fecha` ,
                        `titulo` ,
                        `link` ,
                        `imagen`,
                        `comment`,
                        `seccionid`,
                        `clave1`,
                        `destacado`,
                        `stock`)
                     VALUES
                        ( '"
.date("Y-m-d H:i:s")."' ,
                        '"
.$fields['titulo']."' , 
                        '"
.$fields['link']."' ,
                        '"
.$fields['imagen']."' ,
                        '"
.nl2br(htmlentities($fields['comment']))."' ,
                        '"
.$fields['seccion']."',
                        '"
.$fields['clave1']."' ,
                        '"
.$fields['destacado']."',
                        '"
.$fields['stock']."')" ;
        
        if ( isset( 
$sql ) && !empty( $sql )){
              
//echo "<!--".$sql."-->";
              
$result mysql_query$sql );
              return 
$result;
        }
}
    
/* Esta funcion comprueba la validez de los datos introducidos por el usuario. Todos ellos deben estar en la variable $_POST. */

function testFields(&$errores,&$fields){
        
//Obtiene los errores de validacion y los campos para insertar si todo es correcto.
        //Si hay al menos un error la funcion devuelve falso.
        
if (isset($_POST["ttitulo"]) && !empty($_POST["ttitulo"])){
        
$fields["titulo"]=$_POST["ttitulo"];
        } else {
$fields["titulo"]="";
            
$errores["titulo"]="El campo título debe cumplimentarse.";
        }
        if (isset(
$_POST["tlink"]) && !empty($_POST["tlink"])){
        
$fields["link"]=$_POST["tlink"];
        } else {
$fields["link"]="";
            
$errores["link"]="El campo link debe cumplimentarse.";
        }
        if (isset(
$_POST["tclave1"]) && !empty($_POST["tclave1"])){
        
$fields["clave1"]=$_POST["tclave1"];
        }
        if (isset(
$_POST["tcomment"]) && !empty($_POST["tcomment"])){
        
$fields["comment"]=$_POST["tcomment"];
        } else {
$fields["comment"]="";
            
$errores["comment"]="Debe indicarse una breve descripción del sitio.";
        }
        
        if (isset(
$_POST["tseccion"]) && !empty($_POST["tseccion"])){
        
$fields["seccion"]=$_POST["tseccion"];
        } else {
$fields["seccion"]="";
            
$errores["seccion"]="La seccion no puede estar vacia.";
        }
        
        
$fields["destacado"]=$_POST["tdest"];
        

/****************************IMAGEN***********************************/


$upload_dir '/fotos';
$upload_file $upload_dir $_FILES['imagen']['name'];
$imagen $_FILES['imagen']['name'];


$fields["imagen"]=$imagen;

    if (
move_uploaded_file($_FILES['imagen']['tmp_name'], $upload_file)) {
          
        
// La imagen se subio correctamente.
    
} else {
           echo 
"OJO QUE FALLO LA IMAGEN";
    }

/****************************IMAGEN***********************************/


        
if (count($errores)>0){
            return 
false;
        } else {
            return 
true;
        }
    }
    
    
//Testeamos los errores en los campos de entrada
    
if (testFields($errores,$fields)){
        
//Probamos a grabar el registro.
        
if (save_url($fields,$hostname,$username,$password,$databasename)){
            
//Todo ok.
            
$results'<b><font color=green>La URL ha sido enviada con éxito.<br>
            En breve estudiaremos su solicitud de inclusión en el directorio</font></b>'
;
            
//Si todo va bien eliminamos el contenido de $_POST para que los campos del formulario queden en blanco.
            
unset($_POST);
        } else {
            
//Error en DB contacto con webmaster.
            
$results'<b><font color=red>Error al enviar URL.<br>
            Si el problema persiste contacte con el administrador del sitio.</font></b>'
;
        }
    } else {
        
//Devolvemos los errores constados.
        
reset ($errores);
        
$results"<b><font color=red>Errores:<br><ul>\n";
        while (list (
$clave$val) = each ($errores)) {
            
$results.= "<li>$val</li>\n";
        } 
        
$results.= "</ul></font></b>\n";
    }

/* *************** FIN FUNCIONES PHP *************** */
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>A&ntilde;adir URL. Redribera.es</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#diseno1{
    border:1px solid #000;
}

.normal1 {
    color:#0000FF;
    font-size:11px;
}

.normal2 {
    color:#0000FF;
}

.normal1 {
    color:#000;
    font-size:12px;
}
.Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Estilo2 {color: #0000FF; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; }
</style>
<meta name="Autor" content="RedRibera">
</head>

<body>
<div id="diseno1">
    <span class="Estilo1">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color:#C2b9ce;">
</span>
    <tr>
        <?
                
if(empty($_POST["tlink"])){$_POST["tlink"]="http://";}
            
?>
        <td width="40%" valign="top" class="Estilo2" style="padding:10px;background-color:#dfdbe6;">
             <span class="titulonormal1">&nbsp;Sugerir una URL al directorio.<br></span>
             <span class="normal1">&nbsp;Los campos marcados con * son obligatorios.<br><br></span>
          <form action="<?=$_SERVER['PHP_SELF']?>?<?=SID?>" method="post" enctype="multipart/form-data">
            * Nombre del producto:<br>
            <input name="ttitulo" type="text" id="ttitulo" size="44" maxlength="255" value=<? echo $_POST["ttitulo"?>><br>
            * Link (hacia alguna pagina oficial):<br>
            <input name="tlink" type="text" id="tlink" size="44" maxlength="255" value=<? echo $_POST["tlink"?>><br>
             Imagen:<br>
            <input name="imagen" type="file" id="timagen" size="44" value=<? echo $_POST["timagen"?>><br>
            * Descripcion:<br>
            (Máximo 400 caracteres.)<br>
            <textarea name="tcomment" id="tcomment" cols="44" rows="4" maxlength="400" onKeyUp="return ismaxlength(this)"><? echo $_POST["tcomment"?></textarea><br>
            Palabras clave de busqueda:<br>
            <input name="tclave1" type="text" id="tclave1" size="44" maxlength="128" value=<? echo $_POST["tclave1"?>><br>
            * Pagina destacada (ver comentarios a su derecha):<br>
            <select name="tdest" size="1" id="tdest" value=<? echo $_POST["tdest"?>>
            <option value="0">NO </option>
            <option value="1">SI </option>
            </select><br>
            * Sección:<br>
                 <?php
                $link 
mysql_connect($hostname,$username,$password)
                  or die(
"Could not connect: " mysql_error());
                   
mysql_select_db($databasename$link) or die ( mysql_error());
                       
$compare=$_POST["tseccion"]>0?$_POST["tseccion"]:0;
                    
get_select_tree(0,$link,"tseccion",$compare);           
                
?><br>
              <br><input type="submit" value="Subir Producto" class="boton"><br>
          </form>        </td>
        <td width="60%" valign="top" class="Estilo1" style="padding:10px;">
            <?php
                    
echo $results;
                
?>
                
</body>
</html>



Última edición por Alemanarg; 02/09/2008 a las 08:14
  #2 (permalink)  
Antiguo 02/09/2008, 00:38
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: problema - insertar ruta de imagen en bd mysql

amigo, en verdad deseo ayudarte, pero almenos date la molestia de ordenar mas el código, para eso existe [PHP] en el editor avanzado, separarlos por ficheros, etc etc...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:51.