Comunidad de diseño web y desarrollo en internet online

Porque no me funciona esta condicion en PHP

Citar            
MensajeEscrito el 02 Sep 2012 01:59 am
esta es la condicion, se trata de que cuando el campo foto este vacio (de tipo file) el me actualize solo los campos que yo le pido, y cuando este lleno que seria el "else" que me suba la nueva foto y me actualize todo. la foto no me da problema, porque todo me funciona cuando le quito esa condicion, pero el problema es cuando la pongo.

Código PHP :

$foto = $_POST['foto'];

if(empty($foto))
{
$modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='$subcategoria', categoria='$categoria', descripcion='$descripcion', contenido='$contenido', nombre='$nombre'  WHERE id='$ID'");   
}
else
{
$nom =time().".jpg"; 
move_uploaded_file($_FILES['foto']['tmp_name'], "../ftp/img/$nom"); 
$dir="ftp/img/";
$foto=$dir.$nom;

$modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='$subcategoria', categoria='$categoria', descripcion='$descripcion', contenido='$contenido', nombre='$nombre', imagen='$foto' WHERE id='$ID'");
}


me funciona a la perfeccion cuando lo dejo de la siguiente forma

Código PHP :

$foto = $_POST['foto'];

$nom =time().".jpg"; 
move_uploaded_file($_FILES['foto']['tmp_name'], "../ftp/img/$nom"); 
$dir="ftp/img/";
$foto=$dir.$nom;

$modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='$subcategoria', categoria='$categoria', descripcion='$descripcion', contenido='$contenido', nombre='$nombre', imagen='$foto' WHERE id='$ID'");


pero de esta ultima forma tendria que siempre seleccionar una foto, quiero que me funcione la condicion del principio para cuando quiera solo modificar el nombre de otro campo de la BD, la foto me la deje intacta y no se me quite.

Por lisettealvarez6

25 de clabLevel



Genero:Femenino  

Informatica Web

chrome
Citar            
MensajeEscrito el 02 Sep 2012 02:43 pm

Código PHP :

<?php
$foto = $_POST['foto'];
if(empty($foto))

la variable $_POST['foto'] no existe por eso la condicion no se cumple
no te confundiste y quisiste ponerle
$_FILES['foto']

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2012 03:01 pm
eso me funciona bien, el problema es en el primer codigo que les pongo, cuando se realiza la condicion, miren para darle mas detalles, la validacion y todo este proceso lo hago en la misma pagina con la condicion de isset(submit), y me funciona bien, pero el problema es la condicon de adentro. y no es problema de llaves, porque todas estan bien cerradas.

Ayudenme

Por lisettealvarez6

25 de clabLevel



Genero:Femenino  

Informatica Web

chrome
Citar            
MensajeEscrito el 02 Sep 2012 03:49 pm
entonces el problema puede ser la consulta mysql,
http://es.php.net/mysql_error

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2012 06:23 pm
No se trata de ninguna consulta myslq, tiene que ver con otra cosa, tiene que ser la condicion

Por lisettealvarez6

25 de clabLevel



Genero:Femenino  

Informatica Web

chrome
Citar            
MensajeEscrito el 02 Sep 2012 08:53 pm
Trata asi :/

Código PHP :

<?php
$foto= $_POST['foto'];

if(empty($foto))
   {
      $modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='".$subcategoria."', categoria='".$categoria."', descripcion='".$descripcion."', contenido='".$contenido."', nombre='".$nombre."'  WHERE id=$ID ");   
   }
else
   {
      $nom=time().".jpg"; 
         move_uploaded_file($_FILES['foto']['tmp_name'], "../ftp/img/$nom"); 
      $dir="ftp/img/";
      $foto=$dir.$nom;
      $modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='".$subcategoria."', categoria='".$categoria."', descripcion='".$descripcion."', contenido='".$contenido."', nombre='".$nombre."', imagen='".$foto."' WHERE id=$ID ");
   }
?>

Por dsalcedo

50 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 02 Sep 2012 09:53 pm
cual es la diferencia al que yo puse?

que fue lo que le cambiastes

Por lisettealvarez6

25 de clabLevel



Genero:Femenino  

Informatica Web

chrome
Citar            
MensajeEscrito el 03 Sep 2012 03:42 pm
Ammm se escribe "CAMBIASTE", lo que hizo fue concatenar las variables sin interpretarlas, es decir en ves de hacer esto:

Código PHP :

$var = "Esta es una variables $valor de lujo";


hizo esto

Código PHP :

$var = "Esta es una variable".$valor." de lujo";


Es lo mismo y a la vez no, en fin es otra historia de PHP, solo trata de tener orden en tu codigo. Intenta colocar mensajes de control como:

Código :

print("Ingresando a la funcion con el IF en verdadero");


Más que nada para ir viendo paso por paso los datos, variables y todo lo que se hace.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 03 Sep 2012 06:52 pm
problema resuelto,habia que quita lo que decia $foto= $_POST['foto']; y ya.

if(empty($foto))
{
$modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='".$subcategoria."', categoria='".$categoria."', descripcion='".$descripcion."', contenido='".$contenido."', nombre='".$nombre."' WHERE id=$ID ");
}
else
{
$nom=time().".jpg";
move_uploaded_file($_FILES['foto']['tmp_name'], "../ftp/img/$nom");
$dir="ftp/img/";
$foto=$dir.$nom;
$modificar=mysql_query("UPDATE contenidosubmenu SET subcategoria='".$subcategoria."', categoria='".$categoria."', descripcion='".$descripcion."', contenido='".$contenido."', nombre='".$nombre."', imagen='".$foto."' WHERE id=$ID ");
}

Por lisettealvarez6

25 de clabLevel



Genero:Femenino  

Informatica Web

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.