elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:45  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  problema update en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: problema update en php  (Leído 2,365 veces)
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
problema update en php
« en: 5 Noviembre 2010, 16:23 »

hola,estoy haciendo un sistema para editar el contenido de mi web,tengo el siguiente code que no me da error pero no me modifica los datos:

principal
Código
<p align="center"><?php
  include("config.php");
  $link=Conectarse();
  $result=mysql_query("select * from videos order by id desc",$link);
?>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1 align="center">
     <TR><TD>&nbsp;<B>Nombre</B></TD> <TD>&nbsp;<B>ID</B>&nbsp;</TD> <TD>&nbsp;&nbsp;</TD></TR>
<?php      
  while($row = mysql_fetch_array($result)) {
  $id = $row["id"];
     printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><b><a href='editar_video.php?id=$id'>Editar</a></b></td></tr>", $row["nombre"],$row["id"]);
  }
  mysql_free_result($result);
  mysql_close($link);
?>
</table> </p>

editar_video.php
Código
<html>
<head>
  <title>Enviar video</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: #FCF;
}
</style>
</head>
<body><h1 align="center">Editar video</h1>
<p>
 <?
  include("config.php");
$id=$_GET['id'];
 $link=Conectarse();
  $result=mysql_query("select * from videos WHERE id=$id",$link);
  while($row = mysql_fetch_array($result)) {
  $id = $row["id"];
  $nombre = $row["nombre"];
  $embed = $row["embed"];
  $img = $row["img"];
  $dur = $row["dur"];
  $porn1 = $row["porn1"];
  $porn2 = $row["porn2"];
  $cat1 = $row["cat1"];
  $cat2 = $row["cat2"];
  }
  mysql_free_result($result);
  mysql_close($link);
?>
</p>
  <form name="form1" method="post" action="editado.php">
      <p>Nombre del video:
      <input name="nombre" type="text" value="<? echo $nombre ?>" size="40" maxlength="40" />
    </p>
      <p>Código embed del video:
        <label>
          <br>
          <textarea name="textarea" id="textarea" cols="45" rows="5"><? echo $embed ?></textarea>
        </label>
      </p>
      <p>Ruta de la imagen del video:
        <input name="img" type="text" value="<? echo $img ?>" size="50" />
    </p>
      <p>Duración del video:
        <input name="dur" type="text" value="<? echo $dur ?>" size="20" />
    </p>
      <p>Pornstar 1:
        <input name="porn1" type="text" value="<? echo $porn1 ?>" size="40" />
    </p>
      <p>Pornstar 2:
        <input name="porn2" type="text" value="<? echo $porn2 ?>" size="40" />
    </p>
      <p>Categoría del video:
        <label for="select"></label>
        <input name="cat1" type="text" value="<? echo $cat1 ?>" size="40" />
      </p>
      <p>Subcategoría del video:      
        <input name="cat2" type="text" value="<? echo $cat2 ?>" size="40" />
      </p>
      <p>
        <input type="submit" value="Actualizar" name="ir"/>
      </p>
</form>
</body>
</html>

editado.php
Código
<html>
<head>
  <title>Enviar video</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: #FCF;
}
</style>
</head>
<body><h1 align="center">Editar video</h1>
<?
 $host="localhost";
$user="userpass";
$db="bd";
 
       //Aqui recibimos las variables a actualizar
 
  $id=$_POST['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
 
       //Creamos la conexión
 
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
 
       //aqui preguntamos si hicieron click en el boton actualizar
       if($_POST['ir']=="Actualizar")
      {
             $sql=mysql_query("update [/videos] set nombre='$nombre', embed='$embed', img='$img', cat1='$cat1', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' where [/id]='$id'",$link);
             echo "Actualizado correctamente";
       }
      else
      {
          echo "Error al editar el video.";
       }
?>
</body>
</html>

que es lo que está mal? gracias


En línea
seele

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: problema update en php
« Respuesta #1 en: 5 Noviembre 2010, 16:31 »

primero que nada... tienes los errores de php activos?
agrega los errores de mysql_error() tambien supongo que viene por ahi el asunto

saludos


En línea
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #2 en: 5 Noviembre 2010, 16:43 »

no me da ningún error despues de usar  mysql_error();
En línea
seele

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: problema update en php
« Respuesta #3 en: 5 Noviembre 2010, 16:46 »

llegan bien las variables por $_POST, has un print_r

Código:
print_r($_POST);
En línea
xassiz~


Desconectado Desconectado

Mensajes: 428



Ver Perfil WWW
Re: problema update en php
« Respuesta #4 en: 5 Noviembre 2010, 21:32 »

Ese [/videos] es un error al postear el code no?

Código
if(isset($_POST['ir'])
{
             $sql=mysql_query("UPDATE videos set nombre='$nombre', embed='$embed', img='$img', cat1='$cat1', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' where id='$id'",$link);
             echo "Actualizado correctamente";
}
 

Y deberías escapar todas esas variables con mysql_real_escape_string().

Saludos ;)
En línea

viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #5 en: 6 Noviembre 2010, 16:55 »

aqui tengo el codigo

Código
<?
 $host="localhost";
$user="user";
$passwd="pass";
$db="bd";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
             $sql=mysql_query("UPDATE videos set nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur's where id='$id'",$link);
             echo "Actualizado correctamente<br>";
 echo $id."<br>";
 echo $nombre."<br>";
 echo $img."<br>";
 echo $cat."<br>";
 echo $cat2."<br>";
 echo $dur."<br>";
 echo $porn1."<br>";
 echo $porn2."<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>

el problema es que solo me actualiza los registros $nombre y $dur, todos los demás me los actualiza en blanco,a pesar de que las variables las recibe bien en el "echo" del final. porque? gracias!
« Última modificación: 9 Noviembre 2010, 15:03 por viher » En línea
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #6 en: 9 Noviembre 2010, 21:15 »

aqui tengo el codigo

Código
<?
 $host="localhost";
$user="user";
$passwd="pass";
$db="bd";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
             $sql=mysql_query("UPDATE videos set nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur's where id='$id'",$link);
             echo "Actualizado correctamente<br>";
 echo $id."<br>";
 echo $nombre."<br>";
 echo $img."<br>";
 echo $cat."<br>";
 echo $cat2."<br>";
 echo $dur."<br>";
 echo $porn1."<br>";
 echo $porn2."<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>

el problema es que solo me actualiza los registros $nombre y $dur, todos los demás me los actualiza en blanco,a pesar de que las variables las recibe bien en el "echo" del final. porque? gracias!

alguien sabe por que pasa esto? gracias!
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: problema update en php
« Respuesta #7 en: 9 Noviembre 2010, 21:34 »

Intenta visualizar la query,
Código
$sSQL =	"UPDATE videos
SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur's
WHERE id='$id'"
;
PRINT $sSQL;
//$sQuery = mysql_query($sSQL, $link);
« Última modificación: 9 Noviembre 2010, 21:36 por Shell Root » En línea

---
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #8 en: 9 Noviembre 2010, 23:21 »

no me devuelve nada  :-\

Código
<?
 $host="localhost";
$user="rapmadri_general";
$passwd="181302";
$db="rapmadri_graffitiongirls";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
             $sql=mysql_query("UPDATE videos set nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur's where id='$id'",$link);
             echo "Actualizado correctamente<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
 Print $sql;
?>
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: problema update en php
« Respuesta #9 en: 9 Noviembre 2010, 23:54 »

Lee el código que te pusé, tiene una diferencia muy grande al que tienes actualmente.  :silbar:
En línea

---
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: problema update en php
« Respuesta #10 en: 10 Noviembre 2010, 00:11 »

muestra por pantalla el mysql_error pq estas haciendo las cosas a ciegas. ¿no hay una s ahi perdida o me lo parece?
En línea
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #11 en: 10 Noviembre 2010, 00:17 »

Código
<?
 $host="localhost";
$user="userl";
$passwd="pass";
$db="bd";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
             $sSQL = "UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id'";
PRINT $sSQL;
             echo "Actualizado correctamente<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>

esto es lo que me devuelve

Código
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos's WHERE id='1603'Actualizado correctamente

y embed me sale vacío cuando es el campo que he editado
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: problema update en php
« Respuesta #12 en: 10 Noviembre 2010, 00:25 »

Exacto, este es el punto que quiero tocar... Mirad la sentencia SQL, y como bien te lo dijo @bizco, hay una s que interfiere con la query.
Código
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos's WHERE id='1603'

debería ser así, y el ID supongo que es númerico o es un varchar?
Código
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos' WHERE id=1603
En línea

---
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: problema update en php
« Respuesta #13 en: 10 Noviembre 2010, 00:27 »

viher ahi en eso que pones no veo donde haces la consulta, esta la cadena pero no ejecutas la consulta. de todos modos mira lo que dice Shell Root y acostumbra a manejar los posibles errores y no tenrdras estos problemas.
En línea
viher

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: problema update en php
« Respuesta #14 en: 10 Noviembre 2010, 00:37 »

Código
<?
 $host="localhost";
$user="rapmadri_general";
$passwd="181302";
$db="rapmadri_graffitiongirls";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
              mysql_query("UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id')",$link);
PRINT $sSQL;
             echo "Actualizado correctamente<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>

ejecute la consulta pero aun asi sige igual,y como hago para poner los posibles errores? gracias
En línea
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines