Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/09/2005, 00:39
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
problema al subir foto al servidor por segunda vez.

Buenos dias,

tengo un formulario de entrada de articulos donde se puede añadir una foto.
Código PHP:
$uploaddir 'miruta'
$nomfoto=$_FILES['userfile']['name'];
$uploadfile $uploaddir $_FILES['userfile']['name']; 
$uploadcheck $uploadfile

if(empty(
$_FILES['userfile']['name'])){ 
$uploadfile "";} 

$str_ins "INSERT INTO articles (nom_article,ingredients,codi_grup_article,gluten,imatge)
VALUES ('$nom_article','$ingredients','$grup_article','$gluten','$nomfoto')"
;
    
$result execSQL($str_ins);

print 
"<pre>"
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
print 
"El archivo fue subido con éxito"
print 
"Información del archivo:"
print_r($_FILES); 
} else { 
print 
"El archivo no se pudo subir, información:\n"
print_r($_FILES); 

print 
"</pre>"
Esta parte funciona correctamente. El problema lo tengo cuando quieren editar este articulo. Tengo un formulario simple donde se cargan los datos del articulo, el cual se quiere editar. Pero al intentar hacer el Update de la foto no funciona y si ya tenia una foto esta se pierde, es decir, se borra de la base de datos. Me dice el archivo no se pudo subir... y cuando imprimie el Array me lo muestra vacio...
el codigo del update es el siguiente:
Código PHP:
$uploaddir 'miruta'
$nomfoto=$_FILES['userfile']['name'];
$uploadfile $uploaddir $_FILES['userfile']['name']; 
$uploadcheck $uploadfile

if(empty(
$_FILES['userfile']['name'])){ 
$uploadfile "";} 

$str_upd "UPDATE articles 
    SET nom_article= '"
.$nom_article."',
    ingredients = '"
.$ingredients."',
    codi_grup_article= "
.$grup_article.",
    caducitat = '"
.$caducitat."',
    gluten= "
.$gluten.",
    imatge='"
.$nomfoto."'
    WHERE codi_article = $codi_article"
;
    
$result execSQL($str_upd); 

print 
"<pre>"
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
print 
"El archivo fue subido con éxito"
print 
"Información del archivo:"
print_r($_FILES); 
} else { 
print 
"El archivo no se pudo subir, información:\n"
print_r($_FILES); 

print 
"</pre>"
no entiendo xq pasa esto ya q el codigo es el mismo, menos la sentencia SQL.

aqui dejo el formulario para editar articulos:
Código:
<form name="form1" action="index.php?fuseaction=update" method="POST">
	<input type="Hidden" name="codi_article" value="<?=$row_edit[codi_article]?>">
	<table width="80%" cellpadding="2" cellspacing="0" class="list">
		<tr>
			<td class="listheader" colspan="2">Dades de l'Article</td>
		</tr>
		<tr>
			<td class="listitem">Article</td>
			<td class="listitem"><input type="Text" size="40" name="nom_article" value="<?=$row_edit[nom_article]?>"></td>
		</tr>
		<tr>
			<td class="listitem" valign="top">Ingredients</td>
			<td class="listitem"><textarea name="ingredients" cols="40" rows="6"><?=$row_edit[ingredients]?></textarea></td>
		</tr>
		<tr>
			<td class="listitem" valign="top">Caducitat</td>
			<td class="listitem"><input type="Text" size="40" name="caducitat" value="<?=$row_edit[caducitat]?>"></td>
		</tr>
		<tr>
			<td class="listitem">Imatge</td>			
	        <td class="listitem">
				<img src="<? echo "/img/productes/".$row_edit[imatge]?>" height="90" width="90">
				<input name="userfile" type="file" value="<?=$row_edit[imatge]?>">
			</td>
		</tr>
		<tr>
			<td class="listitem" valign="top">Grup Article</td>
			<td class="listitem">
				<select  name="grup_article">
					<?
					$codi_grup_article=$row_edit[codi_grup_article];
					$sql = "SELECT codi_grup_article,nom_grup_article 
							FROM grup_articles ORDER BY nom_grup_article ASC";
					$qry = execSQL($sql); 
					while ($row=mysql_fetch_array($qry)){
						if ($codi_grup_article==$row[codi_grup_article]){	
							echo ("<OPTION VALUE=".$row[codi_grup_article]." SELECTED>".$row[nom_grup_article]."\n");
						}else{
							echo ("<OPTION VALUE=".$row[codi_grup_article].">".$row[nom_grup_article]."\n");
						}					
					}
					?>		
				</select>
			</td>
		</tr>
		<tr>
		<td class="listitem" valign="top">Gluten</td>
		<td class="listitem">
			<select  name="gluten">
			<? if ($row_edit[gluten]==0){?>
				<option value=0 selected>Con Gluten
				<option value=1>Sin Gluten				
			<?}else{?>
				<option value=0>Con Gluten
				<option value=1 selected>Sin Gluten
			<?}?>
			</select>
		</td>
		</tr>
	</table>
	<p>
	<input type="Button" class="boto" value="Guardar" onclick="envia();">
</form>
Gracias de antemano,

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 27/09/2005 a las 00:45