Foros del Web » Programando para Internet » PHP »

insertar imagen

Estas en el tema de insertar imagen en el foro de PHP en Foros del Web. hola qiero insertar en mi foro un campo llamado avatar xa lo q he sgido el post este he creado los campos para una b.d ...
  #1 (permalink)  
Antiguo 19/05/2003, 19:07
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
insertar imagen

hola qiero insertar en mi foro un campo llamado avatar xa lo q he sgido el post este he creado los campos para una b.d q tenia hexa xo no consigo q me inserte los valores en los campos nuevos os dejo aqi el codigo php q tengo de las 2 paginas:

registro.php
--------------

Código PHP:
 <? include "datos.php";
function 
check_email ($str
{
    if (
$str=='')return 1;
    if (
ereg ("^.+@.+\\..+$"$str)) 
    {
      return 
1;
    } 
    else 
    {
      return 
0;
    }
  }
if (
$k=='guardar')
{
    
$result mysql_query("SELECT * FROM ".$prefijo."_usuarios WHERE nick='$nick'"$conexion);
    
$num mysql_numrows($result);
    if(
$num>0)
    {
            echo
"<br><br><br><center>"._REGMSG1."<br><br><br><br><INPUT class=clsButton type=\"button\" value=\"Volver\" onclick=\"javascript:history.back()\"></center>";
    }
        elseif (
$nick=='' || $password=='' || $password2=='' || $nombre=='' || $ciudad=='')
        {
            echo
"<br><br><br><center>"._CREARERROR1."<br><br><br><br><INPUT class=clsButton type=\"button\" value=\"Volver\" onclick=\"javascript:history.back()\"></center>";
        }
    elseif (
$password!=$password2)
        echo
"<br><br><center><b>"._REGMSG2."</b></center>";
    elseif (!
check_email($email))
    {
        echo
"<br><br><center><b>"._REGMSG3."</b></center>";
    }
    else 
    {    
        
$result mysql_query("INSERT INTO ".$prefijo."_usuarios (id,nick,password,nombre,email,ciudad,archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nick','$password','$nombre','$email','$ciudad','$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo') ",$conexion);
        echo
"<br><br><center><b>"._REGMSG4."</b><br><br>"._REGMSG5."<br><br>
        <input class=\"clsButton2\" type=\"button\" value=\"Aceptar\" OnClick=\"javascript:location='$retorno_url'\"></center>"
;
    }

}
if (
$k=='form'){
$retorno_url=$HTTP_REFERER;
echo
"
<form name=\"form1\" method=\"post\" action=\"registro.php?k=guardar\">

  <input type=\"hidden\" name=\"retorno_url\" value=\"$retorno_url\">
  <p>&nbsp;</p>
  <table width=\"300\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" align=\"center\" bgcolor=$color1>
    <tr><td align=center colspan=2 bgcolor=$color2><b>"
._FORMULARIOREGISTRO."</b><br><br>"._CREARMSG1."</td></tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\"><b>"
._NICK.":</b></td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"text\" name=\"nick\">
      </td>
    </tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\"><b>"
._PASSWORD.":</b></td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"password\" name=\"password\">
      </td>
    </tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\"><b>"
._RPASSWORD.":</b></td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"password\" name=\"password2\">
      </td>
    </tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\"><b>"
._NOMBRE.":</b></td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"text\" name=\"nombre\">
      </td>
    </tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\">"
._EMAIL.":</td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"text\" name=\"email\">
      </td>
    </tr>
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\"><b>"
._CIUDAD.":</b></td>
      <td width=\"156\" align=\"right\"> 
        <input class=\"clsTextbox\" type=\"text\" name=\"ciudad\">
      </td>
    </tr>
    <FORM enctype=\"multipart/form-data\" method=\"post\" action=\"insertar.php\">
    <tr bgcolor=$color3> 
      <td width=\"144\" valign=\"middle\">"
._AVATAR.":</td>
      <td width=\"156\" align=\"right\"> 
         <INPUT type=\"file\" name=\"archivo\" size=\"30\">
        <INPUT type=\"submit\" name=\"submit\" value=\"Subir archivo\">
      </td>
     </form>
    <tr bgcolor=$color3>
      <td width=\"144\" valign=\"middle\">&nbsp;</td>
      <td width=\"156\" align=\"right\">
      <INPUT class=\"clsButton\" type=\"submit\" value=\"Aceptar\"></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
}
include 
"secciones.php";?>
Código PHP:
<FORM enctype="multipart/form-data\" method=\"post\" action=\"insertar.php\"> 
apartir de aqi es donde creo q sta el problema ya q sin ello consigo insertar todos los datos bien, xo con esto no me inserta la imagen en la base de datos.

insertar.php
Código PHP:
<?php
$conexion 
mysql_connect("localhost","","") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("foroviaspain",$conexion) or die("No se puede seleccionar BD"); 
 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];
$consulta_insertar "INSERT INTO foroviaspain.viaspain_usuarios(idimagen,archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('','$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: registro.php"); 
exit;
?>
llevo toda la noxe intentando buscarle un error xo no lo encuentro, ruego q me ayudeis xfavor. salu2 gracias
  #2 (permalink)  
Antiguo 19/05/2003, 19:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ..si hay algun error de PHP nos pordrías avisar de que dice PHP ...

Tambien indicanos en que servidor (y versión de PHP) estas probandolo .. En Lycos por ejemplo el "header()" no te va a funcionar . .por poner algún ejemplo.


Por cierto:
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

Esa línea va todo junto .. sin salto de línea . ten cuidado con eso (puede ser defecto del foro al poner el código .. pero nunca está de mas avisar.)


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 19/05/2003 a las 19:21
  #3 (permalink)  
Antiguo 20/05/2003, 07:20
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
perdon tuve q explicarme...
la primera pagina es la del registro de mi foro inserta en la base de datos "foro viaspain" los datos del usuario, todo lo hace bien, inserta el nombre, el password la direccion xo no inserta la imagen, insertar la imagen en la bd lo hago con el codigo de "insertar.php" creo q tngo q hacerlo insertando en la primera pagina(registro) un formulario q cargase la imagen y lo enviase a insertar.php para meterlo en la bd xo no lo hace.
lo que me has dixo de la linea ha salido así al copiarlo en el codigo lo tengo bien puesto.
uso el appserv (apache,my sql...) la version del apache es la 4.2.2. no lo estoy probando en ningun servidor aun estoy probando q funcione antes de subirlo, estoy haciendo pruebas en mi ordenador, espero q m contsteis gracias

Última edición por naxei; 20/05/2003 a las 08:16
  #4 (permalink)  
Antiguo 20/05/2003, 20:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La versión que comentas supongo que será de PHP (Apache van por la 2.0.x si mal no recuerdo ...

Sobre el error que comentas .. la verdad que es dificil verlo con un póco de código fuera de contexto (sin el resto de scripts que uses ..) sin datos .. y sin poder probarlo ..

Intenta colocar mas datos .. (scripts) y detallar algo mas cláro el "problema" con el código en la mano .. Problemas de "lógica" son dificiles de resolven en foros sin "probarlo" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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




La zona horaria es GMT -6. Ahora son las 16:50.