Foros del Web » Programando para Internet » PHP »

Ejercicio Simple

Estas en el tema de Ejercicio Simple en el foro de PHP en Foros del Web. Buenas, el ejercicio es muy simple pero no se hacerlo. Se me pide crear una pagina web en la que el usuario introduzca un dni, ...
  #1 (permalink)  
Antiguo 19/11/2015, 13:13
 
Fecha de Ingreso: octubre-2014
Mensajes: 46
Antigüedad: 9 años, 5 meses
Puntos: 0
Ejercicio Simple

Buenas, el ejercicio es muy simple pero no se hacerlo.

Se me pide crear una pagina web en la que el usuario introduzca un dni, el dni introducido se comprueba que pertenece a un cliente de la lista y se muestra una frase asi:

El usuario con dni (dni) se llama (nombre) sus apellidos son (apellidos) y vive en (direccion)

Yo tengo:

La base de datos en xml:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <agencia>
  3.  <cliente dni="123">
  4.     <nombre>Mario</nombre>
  5.     <apellidos>Fdez Fdez</apellidos>
  6.     <direccion>Madrid</direccion>
  7.  </cliente>
  8.  <cliente dni="456">
  9.     <nombre>Cuco</nombre>
  10.     <apellidos>Gonzalez Martinez</apellidos>
  11.     <direccion>La Rioja</direccion>
  12.  </cliente>
  13.  <cliente dni="789">
  14.     <nombre>Manuel</nombre>
  15.     <apellidos>Vicente Gomez</apellidos>
  16.     <direccion>Sevilla</direccion>
  17.  </cliente>
  18.  <cliente dni="147">
  19.     <nombre>Fernando</nombre>
  20.     <apellidos>Alonso Martinez</apellidos>
  21.     <direccion>Vigo</direccion>
  22.  </cliente>
  23. </agencia>


el html en el que se pide el formulario:

[HIGHLIGHT="HTML"]<!DOCTYPE html>
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Practica2PHP</title>
<link href="estilo.css" rel="stylesheet" type="text/css">
</head>

<body>
<h1><b>Formulario DNI</b></h1>


<form action="servidor.php" method="post">
<fieldset>
<legend>Introduzca DNI</legend>
<label for="dni">DNI</label>
<input type="text" id="ingresos" name="ingresos" />
</fieldset>
</form>
</body>
</html>

y lo que tengo de php es esto:

Código PHP:
Ver original
  1. <html>
  2. <body>
  3.  
  4. <?php
  5.     if(file_exists("Copiado_1.xml"))
  6.     {
  7.         $agencia=simplexml_load_file("Copiado_1.xml");
  8.             foreach($agencia->cliente as $cliente){
  9.             if($cliente -> dni == $_POST['dni'])
  10.             {
  11.                 echo "<p> El nombre del cliente con dni ".$_POST['DNI']."
  12.                 es ".$cliente->nombre."</p>";
  13.                 echo "<p> Los apellidos del cliente con dni ".$_POST['DNI']."
  14.                 es ".$cliente->apellidos."</p>";
  15.                 echo "<p> La direccion del cliente con dni ".$_POST['DNI']."
  16.                 es ".$cliente->direccion."</p>";
  17.             }      
  18.         }
  19.     }else{
  20.         exit("No se pudo abrir el archivo Copiado_1.xml");    
  21. }
  22. ?>
  23.  
  24. </body>
  25. </html>

Lo tengo que ejecutar en xampp y este es el error que me da despues de meter el dni y darle a enter


Notice: Undefined index: dni in C:\xampp\htdocs\PRACTICA5PHPOEOE\servidor.php on line 9

Notice: Undefined index: dni in C:\xampp\htdocs\PRACTICA5PHPOEOE\servidor.php on line 9

Notice: Undefined index: dni in C:\xampp\htdocs\PRACTICA5PHPOEOE\servidor.php on line 9

Notice: Undefined index: dni in C:\xampp\htdocs\PRACTICA5PHPOEOE\servidor.php on line 9


Muchas Gracias11
  #2 (permalink)  
Antiguo 19/11/2015, 14:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejercicio Simple

No tienes ningún name="dni" en tu formulario y es lo que intentas leer con $_POST['dni'] ¿no deberías usar "ingresos" en su lugar?

Además $_POST['dni'] jamás será igual que $_POST['DNI'] ya que PHP sí distingue entre mayúsculas y minúsculas.

Consulta el siguiente manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: ejercicio, formulario, html, simple
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 01:27.