Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Añadir elementos de HTML en un PHP.

Estas en el tema de Añadir elementos de HTML en un PHP. en el foro de PHP en Foros del Web. Hola a todos, Estoy desarrollando una web relativamente sencilla con acceso a una base de datos. Tengo una duda con una parte de la Web, ...
  #1 (permalink)  
Antiguo 07/11/2015, 16:18
 
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 20
Antigüedad: 8 años, 5 meses
Puntos: 0
Información Añadir elementos de HTML en un PHP.

Hola a todos,
Estoy desarrollando una web relativamente sencilla con acceso a una base de datos. Tengo una duda con una parte de la Web, en la que estoy haciendo un INSERT de unos datos introducidos por el usuario en un formulario.

Este es el código donde está el formulario:

Código PHP:
<?php
// require_once('vars.php');
include_once('conexion.php');
include_once(
"security.php");
//echo "El usuari es $usuari ";
?>
<!doctype html>
<link href="nuevo.css" rel="stylesheet" type="text/css">
<html>
<head>
<meta charset="utf-8">
<title>Nuevo Contenido</title>
</head>

<body>
<h1>NUEVO CONTENIDO</h1>



<div id='titol'>
<form method="post"  action="insert.php" name="formulario"> 
<div id='titulo'>
<h3>Título</h3> <input class='textbox2' type="text" name="Titulo">
</div>
<div id='cat'>
<h3> Categoria</h3> <select name="Categoria">    
       <option value="Estudios">Estudios</option>
       <option value="Ocio">Ocio</option>
       <option value="Trabajo">Trabajo</option>
       <option value="Servicios">Servicios</option>
       
   </select><br>
</div>   
<h3>Descripción</h3>  <textarea class="textbox" name="Descripcion" rows="15" cols="80"></textarea><br>

<input type="submit" name="enviar" value="enviar">

</form>
<input type="submit" name="cancelar" value="cancelar" onclick="window.location='admin.php';">

</div>
</body>
</html>
Y aquí está el archivo PHP que se ejecuta al pulsar el botón en el formulario, y que tiene la consulta con el INSERT:

Código PHP:
<?php
include('conexion.php');
include(
"security.php");

$db"townhub";
$host"localhost";
$pw"";
$user"root";



//VARS
$tituloRegistrado$_POST['Titulo'];
$descripcionRegistrada$_POST['Descripcion'];
$hoy date("j/n/Y");
$cat$_POST['Categoria'];


$con=conect();
mysqli_query($con"INSERT INTO contenido(Titulo, Descripcion, Fecha, Categoria) values('$tituloRegistrado', '$descripcionRegistrada', now(), '$cat')");
echo 
"Contenido enviado satisfactoriamente.";
echo 
"<a href= 'admin.php' > Volver </a>";

?>
Como se puede ver en el segundo código, muestro con un echo "Contenido enviado satisfactoriamente." y creo un link para volver. Lo que me gustaría saber es como podría cambiar esto y añadir código HTML para darle estilos con CSS y que quede más "profesional", ya que no me parece presentable un link así.

Adicionalmente, me gustaría saber una manera fácil de comprobar que efectivamente se han insertado, y mostrar esta web solo en ese caso. En caso de que no se hayan insertado, ir a una web similar pero advertiendo del error. Para esto, imagino que sería mejor hacer la propia consulta INSERT desde el PHP del formulario, cosa que no se como hacer. No se como crear una "función" de PHP y llamarla desde el mismo documento, vaya.

Espero haberme explicado lo suficientemente bien, y que aunque no se prácticamente nada de PHP alguien me pueda ayudar.
Gracias de antemano,
Isaac.
  #2 (permalink)  
Antiguo 07/11/2015, 20:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Añadir elementos de HTML en un PHP.

Bienvenido a Foros del Web.

Cualquier impresión de datos o elementos HTML realizada con PHP, se muestra en el lado del cliente, por lo que puedes aplicarle estilos.

Con respecto a la pregunta que haces acerca de cómo puedes saber si la inserción fue exitosa, la función mysqli_query() devuelve las siguientes respuestas según las siguientes operaciones:
  • Para una consulta del tipo SELECT, SHOW, DESCRIBE o EXPLAIN: Un objeto mysqli_result.
  • Para otro tipo de consultas: TRUE.
  • Si ocurre un error: FALSE.

Por lo tanto, te basta con colocar la ejecución de la consulta en una condición y realizar las acciones pertinentes en caso de éxito y error.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 07/11/2015, 20:39
Avatar de AlejandraLara  
Fecha de Ingreso: octubre-2015
Mensajes: 115
Antigüedad: 8 años, 6 meses
Puntos: 19
Respuesta: Añadir elementos de HTML en un PHP.

Hmm... <a class="tuclase">link</a> y pones la clase en tu css.

Y para hacer una función:
function nombre_funcion($argumentos){
//aqui tu query etc
}

nombre_funcion($argumentos); //asi la llamas

¿a eso te referías? igual podrías leer el manual.
__________________
Si le das el código hecho a alguien nunca va a aprender ni te dará las gracias, si le dices como hacerlo aprenderá y te dará las gracias (algún día).
  #4 (permalink)  
Antiguo 08/11/2015, 16:50
 
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 20
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Añadir elementos de HTML en un PHP.

Hola, y gracias a los dos!
Ya lo he solucionado. Finalmente, he podido hacer todo en un mismo archivo PHP. He usado, como dijo Alexis88 un if para comprobar si se inserta o no, y funciona perfecto.
Además, he conseguido aplicar los estilos. Esa duda no me la habíais resuelto, más que nada porque no me expresé bien: El problema era que estaba intentando colocar código HTML entre las etiquetas del PHP. Sí, es muy obvio, pero la verdad es que nunca he estudiado PHP...
Finalmente no he necesitado crear ninguna función de PHP, únicamente un if y un else de la siguiente manera:


Código PHP:
Ver original
  1. <!doctype html>
  2. <link href="nuevo.css" rel="stylesheet" type="text/css">
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>Nuevo Contenido</title>
  7. </head>
  8.  
  9. <body>
  10. <?php
  11. include_once('conexion.php');
  12. include_once("security.php");
  13.  
  14. $con=conect();
  15.  
  16. if(!$_POST){
  17.  
  18. ?>
  19.  
  20. <h1>NUEVO CONTENIDO</h1>
  21.  
  22.  
  23.  
  24. <div id='titol'>
  25. <form method="post"  name="formulario" action="nuevo2.php">
  26. <div id='titulo'>
  27. <h3>Título</h3> <input class='textbox2' type="text" name="Titulo">
  28. </div>
  29. <div id='cat'>
  30. <h3> Categoria</h3> <select name="Categoria">    
  31.        <option value="Estudios">Estudios</option>
  32.        <option value="Ocio">Ocio</option>
  33.        <option value="Trabajo">Trabajo</option>
  34.        <option value="Servicios">Servicios</option>
  35.        
  36.    </select><br>
  37. </div>  
  38. <h3>Descripción</h3>  <textarea class="textbox" name="Descripcion" rows="15" cols="80"></textarea><br>
  39.  
  40. <input type="submit" name="enviar" value="enviar">
  41.  
  42. </form>
  43. <input type="submit" name="cancelar" value="cancelar" onclick="window.location='admin.php';">
  44.  
  45. </div>
  46. <?php
  47. }
  48. else{
  49. $titulo= $_POST['Titulo'];
  50. $categoria= $_POST['Categoria'];
  51. $descripcion= $_POST['Descripcion'];
  52.  
  53. if( mysqli_query($con, "INSERT INTO contenido(Titulo, Descripcion, Fecha, Categoria) values('$titulo', '$descripcion', now(), '$categoria')") == TRUE ){
  54. ?> 
  55.     <h2>Se han enviado los datos correctamente</h2>
  56.     <input type="submit" name="Aceptar" value="Aceptar" onclick="window.location='admin.php';">
  57. <?php  
  58. }else{
  59. ?>
  60. <h2>Error al enviar los datos. Por favor, vuelva a intentarlo más tarde.<br>
  61. Si el problema persiste, contacte con el Administrador</h2>
  62. <input type="submit" name="Aceptar" value="Aceptar" onclick="window.location='admin.php';">
  63. <?php
  64. }
  65. }
  66. ?>
  67.  
  68. </body>
  69. </html>




Si lo leéis, y encontráis algún problema o algo mejorable, me gustaría que me lo comentaseis.
Muchas gracias a los dos,
nos leemos muy pronto :)

Etiquetas: elementos, fecha, formulario, html, mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:33.