Foros del Web » Programando para Internet » PHP »

Como Cargar Una Variable A Una Base Da Datos Por Upload

Estas en el tema de Como Cargar Una Variable A Una Base Da Datos Por Upload en el foro de PHP en Foros del Web. Primero que Todo soy nuevo en este foro, y Gracias a todos por chekar mis poster. Mi problema es el siguiente, tengo un script, de ...
  #1 (permalink)  
Antiguo 02/08/2008, 19:42
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 2
Como Cargar Una Variable A Una Base Da Datos Por Upload

Primero que Todo soy nuevo en este foro, y Gracias a todos por chekar mis poster.

Mi problema es el siguiente, tengo un script, de un perfil para almacenarlos en la base de datos de los usuarios, y luego mostrarlos en una paginacion. En la parte de la foto, quiero hacer un tipo de upload, donde elos seleccionen su foto de su pc, y la suban a mi servidor, y que esa variable se agregue al formulario del perfil, o mejor aun, que se guarde directamente en la base de datos donde estan alojados los datos de los usuarios, pues si no ellos tienen que escribir la url de la foto en el perfil y quiero eliminar eso, pues nadie lo sabe hacer ni d elo que les hablan...

Espero me ayuden o alguna otra solucion se las agradecere.... Aqui les dejo el codigo del perfil original, no importa si el upload hay que hacerlo en una pagina aparte al perfil.

<?
include("config.php");
include("login.php");

if($_POST[editar]){

if($_POST[contrasena1] && $_POST[contrasena2]){
if($_POST[contrasena1] == $_POST[contrasena2]){
$contrasena = md5($_POST[contrasena1]);
mysql_query("UPDATE usuarios SET contrasena='$contrasena' WHERE id='$_COOKIE[id]'");
} else {
$error = _ALERTA_CONTRASENA_;
}
}
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}

$email = quitar($_POST[email]);
$nombre = quitar($_POST[nombre]);
$ip = $REMOTE_ADDR;
$sexo = quitar($_POST[sexo]);
$boletin = quitar($_POST[boletin]);
if($_POST[web]=="http://"){ $web = ""; } else { $web = quitar($_POST[web]); }
$pais = quitar($_POST[pais]);
$messenger = quitar($_POST[messenger]);
$yahoo_messenger = quitar($_POST[yahoo_messenger]);
$aim = quitar($_POST[aim]);
$icq = quitar($_POST[icq]);
$descripcion = quitar($_POST[descripcion]);
if($_POST[avatar]){
$avatar = quitar($_POST[avatar]);
}
if($_POST[borrar]){
$avatar = "";
}
if(!$error){
if(!mysql_query("UPDATE usuarios SET email='$email',nombre='$nombre',ip='$ip',sexo='$se xo',boletin='$boletin',web='$web',avatar='$avatar' ,pais='$pais',messenger='$messenger',yahoo_messeng er='$yahoo_messenger',aim='$aim',icq='$icq',descri pcion='$descripcion',n_dia='$n_dia',n_ano='$n_ano' ,n_mes='$n_mes',mostrarm='$mostrarm' WHERE id='$_COOKIE[id]'")){
$mensaje = _ERROR_QUERY_PRFL_;
} else {
$mensaje = _OK_QUERY_PRFL_;
}
} else {
echo"<script>alert('$error');history.back();</script>";
}

}
$query = mysql_query("SELECT * FROM usuarios WHERE id='$_COOKIE[id]'");
while($datos = mysql_fetch_array($query)){
?>
<style type="text/css">
<!--
.style1 {
font-size: 36pt;
color: #FF0000;
font-family: "Brush Script MT";
}
-->
</style>


<table width="100%" height="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td><p align="center"><!-- PayPopup.COM -->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="715" height="75" title="Menu">
<param name="movie" value="menufondo.swf" />
<param name="quality" value="high" />
<embed src="menufondo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="715" height="75"></embed>
</object>
</p>
<p align="center"><a href="http://www.PayPopup.com/?ref=enmaracay" target="_new"><img src="http://images.PayPopup.com/350_50_banner.jpg" width=350 height=50 border=0 /></a>
<!-- PayPopup.COM -->
&nbsp;</p>
<p><strong>
<?=_EDITAR_PERFIL_?>
</strong>
<?
if($mensaje){

echo"<br><br>".$mensaje."<br>";

}
?>
</p>
<form action="" method="post" name="datos">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td colspan="2" class="tabla_subtitulo"><?=CHANGE_PASS?></td>
</tr>
<tr>
<td width="22%"><?=_NEW_PASS_1_?></td>
<td width="78%"><input name="contrasena1" type="password" id="contrasena1"></td>
</tr>
<tr>
<td><?=_NEW_PASS_2_?></td>
<td><input name="contrasena2" type="password" id="contrasena2"></td>
</tr>
<tr>
<td colspan="2" class="tabla_subtitulo"><?=DATOS_USUARIO?></td>
</tr>
<tr>
<td><?=_REG_EMAIL_?></td>
<td><input name="email" type="text" id="email" value="<?=$datos[email]?>" size="35"></td>
</tr>
<tr>
<td><?=_REG_BOLETIN_?></td>
<td><input name="boletin" type="radio" value="si"<? if($datos[boletin]=="si"){ echo" checked"; } ?>>
<?=_REG_BOLETIN_SI_?><input name="boletin" type="radio" value="no"<? if($datos[boletin]=="no" or !$datos[boletin]){ echo" checked"; } ?>>
<?=_REG_BOLETIN_NO_?></td>
</tr>
<tr>
<td colspan="2" class="tabla_subtitulo"><?=DATOS_PERFIL?></td>
</tr>
<tr>
<td><?=_REG_NOMBRE_?></td>
<td><input name="nombre" type="text" id="nombre" value="<?=$datos[nombre]?>"></td>
</tr>
<tr>
<td><?=_REG_DATE_?></td>
<td><select name="n_dia" id="n_dia">
<?
$numero = 31;

while($numero > 0){

if($datos[n_dia]==$numero){ $diaS = "selected"; } else { $diaS = ""; }

echo"<option value=$numero $diaS>$numero</option>";
$numero--;
}
?>
</select>
<select name="n_mes" id="n_mes">
<option value="1" <? if($datos[n_mes]=="1"){ echo"selected"; } ?>><?=_M01_?></option>
<option value="2" <? if($datos[n_mes]=="2"){ echo"selected"; } ?>><?=_M02_?></option>
<option value="3" <? if($datos[n_mes]=="3"){ echo"selected"; } ?>><?=_M03_?></option>
<option value="4" <? if($datos[n_mes]=="4"){ echo"selected"; } ?>><?=_M04_?></option>
<option value="5" <? if($datos[n_mes]=="5"){ echo"selected"; } ?>><?=_M05_?></option>
<option value="6" <? if($datos[n_mes]=="6"){ echo"selected"; } ?>><?=_M06_?></option>
<option value="7" <? if($datos[n_mes]=="7"){ echo"selected"; } ?>><?=_M07_?></option>
<option value="8" <? if($datos[n_mes]=="8"){ echo"selected"; } ?>><?=_M08_?></option>
<option value="9" <? if($datos[n_mes]=="9"){ echo"selected"; } ?>><?=_M09_?></option>
<option value="10" <? if($datos[n_mes]=="10"){ echo"selected"; } ?>><?=_M10_?></option>
<option value="11" <? if($datos[n_mes]=="11"){ echo"selected"; } ?>><?=_M11_?></option>
<option value="12" <? if($datos[n_mes]=="12"){ echo"selected"; } ?>><?=_M12_?></option>
</select>
<select name="n_ano" id="n_ano">
<?
$numero3 = 2004;

while($numero3 > 1899){

if($datos[n_ano]==$numero3){ $anoS = "selected"; } else { $anoS=""; }

echo"<option value=$numero3 $anoS>$numero3</option>";
$numero3--;
}
?>
</select></td>
</tr>
<tr>
<td><?=_REG_PAIS_?></td>
<td><input name="pais" type="text" id="pais" value="<?=$datos[pais]?>" size="20"></td>
</tr>
<tr>
<td><?=_REG_SEXO_?> </td>
<td><select name="sexo" id="sexo">
<option value="0"<? if($datos[sexo]=="0"){ echo" selected"; } ?>>Masculino</option>
<option value="1"<? if($datos[sexo]=="1"){ echo" selected"; } ?>>Femenino</option>
</select></td>
</tr>
<tr>
<td>Messenger:</td>
<td><input name="messenger" type="text" id="messenger" value="<?=$datos[messenger]?>"></td>
</tr>
<tr>
<td>Yahoo Messenger</td>
<td><input name="yahoo_messenger" type="text" id="yahoo_messenger" value="<?=$datos[yahoo_messenger]?>"></td>
</tr>
<tr>
<td>ICQ:</td>
<td><input name="icq" type="text" id="icq" value="<?=$datos[icq]?>"></td>
</tr>
<tr>
<td rowspan="2" valign="top">AIM:</td>
<td><input name="icq" type="text" id="icq" value="<?=$datos[aim]?>"></td>
</tr>
<tr>
<td><input name="mostrarm" type="checkbox" id="mostrarm" value="si" checked="checked">
<label for="mostrarm"><?=_MOSTRARM_?></label></td>
</tr>
<tr>
<td><?=_WEB_PRFL_?></td>
<td><input name="web" type="text" id="web" value="<?=$datos[web]?>" size="40"></td>
</tr>
<tr>
<td><?=_AVATAR_PRFL_?></td>
<td><? if($datos[avatar]){ echo"<img src=\"".$datos[avatar]."\"><br>"; } ?>
<p>
<input name="avatar" type="text" id="avatar" value="<?=$datos[avatar]?>" size="30">
<span class="style1">&lt;=====Copiar Aca El Codigo.!</span>
<input name="borrar" type="checkbox" id="borrar" value="1">
<?=_DEL_?>
</p>
<p>
<iframe name=iframe width="60%" height="100%" frameborder=0 marginwidth=1 marginheight=0 src=fotos/index.php scrolling="no"></iframe>
</p></td>
</tr>
<tr>
<td valign="top"><?=_DESCRIPCION_PRFL_?></td>
<td><textarea name="descripcion" cols="40" rows="5" id="descripcion"><?=$datos[descripcion]?>
</textarea></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="editar" type="submit" id="editar" value="<?=_EDITAR_PRFL_?>">
<input type="reset" name="Submit" value="<?=_RESET_PRFL_?>">
</div></td>
</tr>
</table>
</form> </td>
</tr>
</table>

<? } ?>


Les agradecere su Ayuda..!
www.Enmaracay.net
  #2 (permalink)  
Antiguo 02/08/2008, 23:29
Avatar de elnaufrago2009  
Fecha de Ingreso: junio-2008
Mensajes: 15
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

en una pagina html pagina.html (formulario de envio de imagen)
=========================
<form action="envio.php" method="post" enctype="multipart/form-data">
<input name="thumbail" type="file">
<input type="submit" name="Submit" value="Añadir Imagen BD">
</form>

codigo de envio.php (script k guarda la imagen en una carpeta y luego inseta a la BD)
================================================== ===========

include("includes/conexion.php"); // aca la conexion
if ($_FILES['thumbail']['name']!='') // comprueba k el archivo no esta vacio
{
$path="./modulos/".$row[directorio]."/".$row[carpeta]."/"; // carpeta a la que quieres k suba
if (!is_dir($path2)) { //comprueba k la carpeta exite
mkdir($path2, 0777); // si no existe entonces la crea
}
$nombre_archivo = $_FILES['thumbail']['name']; // nombre de la imagen subida
$tipo_archivo = $_FILES['thumbail']['type']; //tipo de archivo .jpg
$tamano_archivo = $_FILES['thumbail']['size']; // tamaño del archivo MG
if (!((strpos($nombre_archivo, "png") || strpos($nombre_archivo, "gif") || strpos($nombre_archivo,"jpg")))) //este if conprueba k si la imagen subida es jpg,png.gif
{
echo "El sistem rechazo el archivo, por que el no es jpg, gif, png";
}
else
{
move_uploaded_file($HTTP_POST_FILES['thumbail']['tmp_name'], $path.$_FILES['thumbail']['name']); // esto es clave aqui copia el archivo a la carpeta
mysql_query("INSERT INTO imagenes (url_img) values ($nombre_archivo)"); // bueno aca por ultimo insertas a la Bd el nombre y la ruta del archivo

}
}

bueno ajusta eso a tu script ...saludos desde tacna-peru
  #3 (permalink)  
Antiguo 03/08/2008, 06:19
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 6 meses
Puntos: 71
Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

antes de hacer el move_upload_file deberias comprobar que el fichero destino no existe en el directorio, sino, se sobreescribira.
  #4 (permalink)  
Antiguo 03/08/2008, 09:47
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

Bueno Ante Todo Muchisimas Gracias Por Atender a Mi duda....

Ahora quisiera saber si la conexion.php es de esta forma:

<?php
$hostname_conn = "http://enmaracay.net";
$database_conn = "usuarios";
$username_conn = "xxxxxxxxx";
$password_conn = "xxxxxxxxx";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>

O no se si podria conectarlo directamente con la configuracion de la logica php que ya tengo, la cual es la que me coencta todo el script. Ese codigo lo coloque en una pagina aparte del que yo coloque alli supongo, pero cual variable coloco en
{
move_uploaded_file($HTTP_POST_FILES['thumbail']['tmp_name'], $path.$_FILES['thumbail']['name']); // esto es clave aqui copia el archivo a la carpeta
mysql_query("INSERT INTO imagenes (url_img) values ($nombre_archivo)"); // bueno aca por ultimo insertas a la Bd el nombre y la ruta del archivo

}
para integrarla a la base de datos pues la seccion de esta tabla se llama avatar

{
move_uploaded_file($HTTP_POST_FILES['thumbail']['tmp_name'], $path.$_FILES['thumbail']['name']); // esto es clave aqui copia el archivo a la carpeta
mysql_query("INSERT INTO avatar (url_img) values ($nombre_archivo)"); // bueno aca por ultimo insertas a la Bd el nombre y la ruta del archivo

}

seria algo asi?
  #5 (permalink)  
Antiguo 04/08/2008, 16:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

Ahi te va una ayudita para la conexion a la BD

Cita:
<? // nombre del archivo, lo guardamos como bd.php

$dbhost = ""; // pondremos nuestro host

$dbuser = ""; // nuestro usuario...

$dbpass = ""; // y nuestro pass

$db = ""; // el nombre de la db



mysql_connect("$dbhost","$dbuser","$dbpass"); //conectamos a la BD
mysql_select_db("$db");


?>
  #6 (permalink)  
Antiguo 30/08/2008, 12:41
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

Oigan disculpen la demora, solo que estaba trabajando en un diseño. Intente el codigo que me dio el naufrago y parecia estar bien, pero me esta marcando eerores cuando lo subo, cree el formulario llamado cargando.htm, conectandolo con el archivo envio.php, y con la conexion.php, la cual la estructure asi:

<?

$dbhost = "localhost"; // pondremos nuestro host

$dbuser = "miuser"; // nuestro usuario...

$dbpass = "mipass"; // y nuestro pass

$db = "enmaraca_archivos"; // el nombre de la db



mysql_connect("$dbhost","$dbuser","$dbpass"); //conectamos a la BD
mysql_select_db("$db");


?>

y cuando intento subir algo me marca muchos errores:


Warning: include(includes/conexion.php) [function.include]: failed to open stream: No such file or directory in /home/enmaraca/public_html/envio.php on line 2

Warning: include(includes/conexion.php) [function.include]: failed to open stream: No such file or directory in /home/enmaraca/public_html/envio.php on line 2

Warning: include() [function.include]: Failed opening 'includes/conexion.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/enmaraca/public_html/envio.php on line 2

Warning: mkdir() [function.mkdir]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/enmaraca:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/enmaraca/public_html/envio.php on line 7

Warning: move_uploaded_file(./modulos///jose2.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/enmaraca/public_html/envio.php on line 18

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php86Wm4Q' to './modulos///jose2.jpg' in /home/enmaraca/public_html/envio.php on line 18

Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/enmaraca/public_html/envio.php on line 19

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/enmaraca/public_html/envio.php on line 19


Espero me Ayuden porque necesito esto para perfecionar mi Web

Última edición por JoseAlejandro_Realza; 30/08/2008 a las 12:49
  #7 (permalink)  
Antiguo 30/08/2008, 12:44
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 2
Sonrisa Respuesta: Como Cargar Una Variable A Una Base Da Datos Por Upload

Lo Intente reduciendo el codigo en vez de 3, a solamente 2 paginas, insertando la conexion en el envio, y me marco menos errores y alli si me establece que la conexion esta buena, pero sigue marcando unos errores:

<?php


$dbhost = "localhost"; // pondremos nuestro host

$dbuser = "miusers"; // nuestro usuario...

$dbpass = "mipass"; // y nuestro pass

$db = "enmaraca_archivos"; // el nombre de la db



mysql_connect("$dbhost","$dbuser","$dbpass"); //conectamos a la BD
mysql_select_db("$db");


if ($_FILES['thumbail']['name']!='') // comprueba k el archivo no esta vacio
{
$path="./modulos/".$row[directorio]."/".$row[carpeta]."/"; // carpeta a la que quieres k suba
if (!is_dir($path2)) { //comprueba k la carpeta exite
mkdir($path2, 0777); // si no existe entonces la crea
}
$nombre_archivo = $_FILES['thumbail']['name']; // nombre de la imagen subida
$tipo_archivo = $_FILES['thumbail']['type']; //tipo de archivo .jpg
$tamano_archivo = $_FILES['thumbail']['size']; // tamaño del archivo MG
if (!((strpos($nombre_archivo, "png") || strpos($nombre_archivo, "gif") || strpos($nombre_archivo,"jpg")))) //este if conprueba k si la imagen subida es jpg,png.gif
{
echo "El sistem rechazo el archivo, por que el no es jpg, gif, png";
}
else
{
move_uploaded_file($HTTP_POST_FILES['thumbail']['tmp_name'], $path.$_FILES['thumbail']['name']); // esto es clave aqui copia el archivo a la carpeta
mysql_query("INSERT INTO imagenes (url_img) values ($nombre_archivo)"); // bueno aca por ultimo insertas a la Bd el nombre y la ruta del archivo

}
}

?>
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 22:50.