elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  IF dependiendo si hay ID
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: IF dependiendo si hay ID  (Leído 7,340 veces)
viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
IF dependiendo si hay ID
« en: 14 Septiembre 2010, 02:41 am »

hola,resulta que yo tengo una archivo php que reproduce videos por ID,el archivo se llama videos.php y tiene el siguiente código:

Código
  1. <? include ("config.php");
  2. $id = $_GET['id'];
  3. $sql = "select * from videos where id=$id";
  4. $squery = mysql_query($sql);
  5. while($row = mysql_fetch_array($squery)){
  6. echo $row['nombre']; }
  7. ?>

el caso es que si pongo video.php?id=24 me carga el video con la ID 24 y funciona perfectamente,el problema es que si entro en video.php sin poner ninguna ID da errores por todos lados ya que no hay ID,cómo podría hacer un IF detecte si se ha puesto una ID o no y tenga 2 diferentes salidas.He estado intentarlo hacerlo yo pero no se como hacer que detecte lo de la ID. Gracias por la ayuda!


En línea

Dznp

Desconectado Desconectado

Mensajes: 119


Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #1 en: 14 Septiembre 2010, 02:56 am »

Es fácil...

Mirá, te lo hago, si necesitas más ayuda mandame un PM


Código
  1. <? include ("config.php");
  2. $id = $_GET['id'];
  3. if($id==NULL){
  4. exit("no se especifico un ID");
  5. } else {
  6. $sql = "select * from videos where id=$id";
  7. $squery = mysql_query($sql);
  8. if(mysql_num_rows($squery){
  9. while($row = mysql_fetch_array($squery)){
  10. echo $row['nombre'];
  11. }
  12. } else {
  13. echo 'No existe ningún video con el ID puesto';
  14. }
  15. }
  16. ?>

Hace casí 5 meses que no toco NADA de PHP, pero no creo que tenga errores.  ;)
Otra cosíta más... Esa consulta es vulnerable a SQL Inyección, busca en Google como hacer una consulta segura.


Suerte  :rolleyes:


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #2 en: 14 Septiembre 2010, 02:57 am »

Código
  1. if(isset($_GET['id']))
  2. {
  3. // codigo
  4. }
  5. else { print "sin id";}
o
Código
  1. if(empty($_GET['id']))
  2. {
  3. print 'sin id';
  4. }
  5. else
  6. {
  7. // codigo
  8. }


Saludos
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #3 en: 14 Septiembre 2010, 03:14 am »

Yo lo haría así,
Código
  1. include ("config.php");
  2. function sVideo($sID){
  3.  if(!empty($sID)){
  4.    $sSQL = "SELECT * FROM videos WHERE sID=".$sID;
  5.    $sQuery = mysql_query($sSQL);
  6.    while($sRow = mysql_fetch_array($sQuery)){
  7.      echo $sRow ['nombre'];
  8.    }
  9.  }else{
  10.    echo 'ID Vacio';
  11.  }
  12. }
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #4 en: 14 Septiembre 2010, 03:44 am »

gracias drvy | BSM tu es funciona perfectamente,losiento Shell Root pero el tuyo daba error.gracias
En línea

tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #5 en: 14 Septiembre 2010, 11:21 am »

que os pasa a todos? estais posteando en un foro de hacking y a ninguno se le ocurre limpiar el input?! xD

buena suerte con la seguridad de la web...
En línea

Colaboraciones:
1 2
Franki

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #6 en: 14 Septiembre 2010, 14:18 pm »

A lo mejor tiene al principio de cada script una función recursiva que limpia las entradas de datos xDD
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #7 en: 14 Septiembre 2010, 15:17 pm »

Bien, pero no te olvides nunca de limpiar tu ID.
Porque nunca se sabe que puede querer un visitante. Si me entiendes.
Para ello la funcion esta en el foro, te la copio aca:

Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>
  15.  

Saludos
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #8 en: 14 Septiembre 2010, 17:29 pm »

...,losiento Shell Root pero el tuyo daba error...
Pero si te fijas, es lo mismo que vos tenias principalmente, solo le agregue el IF.  :silbar:
que os pasa a todos? estais posteando en un foro de hacking y a ninguno se le ocurre limpiar el input?! xD
Cof, cof. Que porque es un foro de "hacking", siempre tenemos que hablar de eso?. A ver que le sacas al subforo "Diseño Gráfico".  :P
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #9 en: 14 Septiembre 2010, 20:30 pm »

Bien, pero no te olvides nunca de limpiar tu ID.
Porque nunca se sabe que puede querer un visitante. Si me entiendes.
Para ello la funcion esta en el foro, te la copio aca:

Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>
  15.  

Saludos

y éste código se lo tengo que poner en todas las páginas que obtengan una ID para despues limpiarla? y así no habra ningún problema de seguridad en la web? perdonarme pero de seguridad web no entiendo mucho y gracias por la ayuda.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Modificar un txt dependiendo de la url de un php?
PHP
Tzdah 1 1,596 Último mensaje 15 Agosto 2013, 05:58 am
por Pablo Videla
activar script dependiendo la hora....
Desarrollo Web
basickdagger 0 1,569 Último mensaje 2 Octubre 2013, 16:38 pm
por basickdagger
concatenar items dependiendo condicion python
Scripting
asdexiva 0 2,487 Último mensaje 7 Mayo 2020, 23:36 pm
por asdexiva
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines