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