Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Danyel_Casvill en 24 Junio 2014, 03:59 am



Título: Error al validar archivo .php
Publicado por: Danyel_Casvill en 24 Junio 2014, 03:59 am
Hola de nuevo... !

Código
  1.    <?php
  2.  
  3.    $cadena = "\r----------------------------------\r\nNombre: ".$_POST["nombre"].
  4.    ".\r\nE-mail: " .$_POST["email"].
  5.    ".\r\nAsunto: ".$_POST["asunto"].
  6.    ".\r\nMensaje: ".$_POST["mensaje"].
  7.    ".\r----------------------------------";
  8.  
  9.    $archivo = fopen("datos.txt","a+");
  10.    fputs($archivo,$cadena);
  11.    fclose($archivo);
  12.  
  13.    echo "Mensaje enviado correctamente";
  14.  
  15.    ?>

Este codigo me funciona bien pero cuando voy a http://validator.w3.org/ me da dos errores algo "bobos"

 Line 1, Column 1: character "M" not allowed in prolog

Mensaje enviado correctamente

 Line 1, Column 30: end of document in prolog

Mensaje enviado correctamente


Título: Re: Error al validar archivo .php
Publicado por: engel lex en 24 Junio 2014, 04:05 am
recuerdas el monton de lineas que lleva antes el archivo html? XD

estás enviando solo texto, el espera minimo como html 5

Código
  1. <!DOCTYPE html>
  2. <title>Title of the document</title>
  3. </head>
  4.  
  5.  
  6. Mensaje enviado correctamente
  7.  
  8. </body>
  9.  
  10. </html>


Título: Re: Error al validar archivo .php
Publicado por: Danyel_Casvill en 24 Junio 2014, 04:09 am
Oooummm, entonces http://validator.w3.org no puede validar archivos .php?
O si lo puede hacer agregando las líneas principales de html?  :huh:


Título: Re: Error al validar archivo .php
Publicado por: engel lex en 24 Junio 2014, 04:12 am
esa pagina al igual que tus clientes son incapaces de ver tu codigo php solo con el link, solo pueden ver el resultado, para ella la pagina contiene eso solamente, una unica linea...

por otro lado el codigo php es valido siempre y cuando se ejecute sin errores, el asunto es php es solo el "tras camaras" tu tienes que formatear todo eso correctamente para que los navegadores lo intepreten correctamente... eso se hace en html, css y js


Título: Re: Error al validar archivo .php
Publicado por: Danyel_Casvill en 24 Junio 2014, 05:12 am
esa pagina al igual que tus clientes son incapaces de ver tu codigo php solo con el link, solo pueden ver el resultado, para ella la pagina contiene eso solamente, una unica linea...

por otro lado el codigo php es valido siempre y cuando se ejecute sin errores, el asunto es php es solo el "tras camaras" tu tienes que formatear todo eso correctamente para que los navegadores lo intepreten correctamente... eso se hace en html, css y js

Entonces debería "camuflarlo" con código de html?
Algo como esto?:

Código
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2.  
  3. <html>
  4.  
  5. <head>
  6.   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  7.   <title>Envio</title>
  8. </head>
  9.  
  10. <body>
  11.    <?php
  12.  
  13.    $cadena = "\r----------------------------------\r\nNombre: ".$_POST["nombre"].
  14.    ".\r\nE-mail: " .$_POST["email"].
  15.    ".\r\nAsunto: ".$_POST["asunto"].
  16.    ".\r\nMensaje: ".$_POST["mensaje"].
  17.    ".\r----------------------------------";
  18.  
  19.    $archivo = fopen("datos.txt","a+");
  20.    fputs($archivo,$cadena);
  21.    fclose($archivo);
  22.  
  23.    echo "Mensaje enviado correctamente";
  24.  
  25.    ?>
  26. </body>
  27.  
  28. </html>
  29.  

Estoy algo confundido :s


Título: Re: Error al validar archivo .php
Publicado por: engel lex en 24 Junio 2014, 05:25 am
te explico...

php es un lenguaje de procesamiento de datos... ese es su fin....

html es un lenguaje de presentacion visual de los datos... css y js lo apoyan y añaden funciones, pero no vamos a eso ahorita...

la W3 es la organizacion que regula los standares html...
PHP es una organizacion dedicada al desarrollo de sofware libre bajo su nombre

la W3 y la PHP no tienen relacion directa... es decir, la W3 no dice que tiene php de malo, ni php dice que tiene la w3 de malo... fin de la historia...

que pasa? php es un lenguaje ejecutado en servidor... el "digiere" los comandos antes de enviarselo al cliente...
ej:
Código
  1. $hola = "hola";
  2. $mundo = "mundo";
  3. $numero = 2*3*4*5;
  4. echo $hola;
  5. $operacion = 2+3;
  6. echo " ";
  7. $mi_clave_de_facebook = "esta es mi clave";
  8. echo $mundo;
  9. function super_proceso($a, $b){
  10.   $c = ($a + $b) * ($a - $b) / 2*$a;
  11.   return $c;
  12. }
  13.  

lo que recibirá el cliente será
Código:
hola mundo
el resto fue procesado debidamente por php y mostró lo que fue indicado mostrar

puedes hacer la prueba... has algo en php y presiona ctrl+u para ver el código fuente, en el código resultante la etiqueta <?php ?> no existe, ese es su objetivo...

w3 te dijo que tu html estaba malo porque para ser html necesita toooooda la estructura html... y solo recibió un texto...

espero entiendas hasta aqui D: