Ver Mensaje Individual
  #53 (permalink)  
Antiguo 06/09/2013, 08:50
danibabasalom
 
Fecha de Ingreso: junio-2013
Ubicación: La Eliana
Mensajes: 38
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema al obtener datos de Mysql con GET por mal orden

Por ejemplo, si aqui quisiese mejorar la seguridad deberia cambiar los vars por mysql_real_escape_string(variable)
Código PHP:
Ver original
  1. <?php
  2. include ('db-cnx.php');
  3. if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar')
  4. {
  5.    if(!empty($_POST['Not_titulo']) && !empty($_POST['Not_texto']) && !empty($_POST['Not_categoria_ID']))
  6.    {
  7.         $Titulo = $_POST['Not_titulo'];
  8.         $Texto = $_POST['Not_texto'];
  9.         $CategoriaID = $_POST['Not_categoria_ID'];
  10.         $SQL_nueva_noticia = mysql_query("INSERT INTO noticias (Not_titulo, Not_texto, Not_categoria_ID, Not_fecha) VALUES ('$Titulo', '$Texto', '$CategoriaID', NOW())", $db_link) or die(mysql_error());
  11.         echo "La noticia fue almacenada correctamente.";
  12.    }
  13.    else
  14.    {
  15.         echo "Debe llenar todos los campos para guardar la noticia";
  16.     }
  17. }
  18. ?>
  19.  
  20.  
  21. <form name="Noticia" action="<?php $_SERVER['PHP_SELF'];?>" method="post">
  22.     <p>Título de la Noticia<br>
  23.         <input type="text" name="Not_titulo" size="50">
  24.     </p>
  25.     <p>Texto de la Noticia<br>
  26.         <textarea name="Not_texto" rows="10" cols="50"></textarea>
  27.     </p>
  28.     <p>Categoría<br>
  29.         <select name="Not_categoria_ID">
  30.             <?php
  31.                 $SQL_pregunta_cat = mysql_query("SELECT * FROM categorias", $db_link) or die(mysql_error);
  32.                 while($Cat_celda = mysql_fetch_array($SQL_pregunta_cat))
  33.                 {
  34.                     echo "<option value='$Cat_celda[Cat_ID]'>$Cat_celda[Cat_nombre]</option>";
  35.                 }
  36.             ?>
  37.         </select>
  38.     </p>
  39.     <p>
  40.         <input type="submit" name="enviar" value="Enviar">
  41.     </p>
  42. </form>

Osea, quedaria asi?

Código PHP:
Ver original
  1. <?php
  2. include ('db-cnx.php');
  3.  
  4. $Not_POST_titulo = ! empty($_POST['Not_titulo']) ? mysql_real_escape_string($_POST['Not_titulo']) : NULL;
  5. $Not_POST_texto = ! empty($_POST['Not_texto']) ? mysql_real_escape_string($_POST['Not_texto']) : NULL;
  6. $Not_POST_cat_ID = ! empty($_POST['Not_categoria_ID']) ? mysql_real_escape_string($_POST['Not_categoria_ID']) : NULL;
  7. if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar')
  8. {
  9.    if(!empty($Not_POST_titulo) && !empty($Not_POST_texto) && !empty($Not_POST_cat_ID))
  10.    {
  11.         $Titulo = $_POST['Not_titulo'];
  12.         $Texto = $_POST['Not_texto'];
  13.         $CategoriaID = $_POST['Not_categoria_ID'];
  14.         $SQL_nueva_noticia = mysql_query("INSERT INTO noticias (Not_titulo, Not_texto, Not_categoria_ID, Not_fecha) VALUES ('$Titulo', '$Texto', '$CategoriaID', NOW())", $db_link) or die(mysql_error());
  15.         echo "La noticia fue almacenada correctamente.";
  16.    }
  17.    else
  18.    {
  19.         echo "Debe llenar todos los campos para guardar la noticia";
  20.     }
  21. }
  22. ?>
  23.  
  24.  
  25. <form name="Noticia" action="<?php $_SERVER['PHP_SELF'];?>" method="post">
  26.     <p>Título de la Noticia<br>
  27.         <input type="text" name="Not_titulo" size="50">
  28.     </p>
  29.     <p>Texto de la Noticia<br>
  30.         <textarea name="Not_texto" rows="10" cols="50"></textarea>
  31.     </p>
  32.     <p>Categoría<br>
  33.         <select name="Not_categoria_ID">
  34.             <?php
  35.                 $SQL_pregunta_cat = mysql_query("SELECT * FROM categorias", $db_link) or die(mysql_error);
  36.                 while($Cat_celda = mysql_fetch_array($SQL_pregunta_cat))
  37.                 {
  38.                     echo "<option value='$Cat_celda[Cat_ID]'>$Cat_celda[Cat_nombre]</option>";
  39.                 }
  40.             ?>
  41.         </select>
  42.     </p>
  43.     <p>
  44.         <input type="submit" name="enviar" value="Enviar">
  45.     </p>
  46. </form>