Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: DroXio en 30 Noviembre 2010, 21:27 pm



Título: ¿Cual es el erro?
Publicado por: DroXio en 30 Noviembre 2010, 21:27 pm
Hola bueno, estoy desarrollando un codigo php, bueno y la funcion que tendria que hacer esque no pase, si no tiene los campos rellenados, pero pasa igual, pongo aqui el codigo php para aver si me podeis hechar una manita.

Código
  1. <?php
  2. echo '<form id="key" method="post" action="registro.php">
  3. <div class="form-note border-5 glow-shadow" id="usernameNote-note">
  4. <div class="note">
  5. <h5> Codigo de Registro.</h5>Sin el codigo de registro, no podras seguir al siguiente proceso.</div>
  6. <div class="note-arrow">
  7. </div>
  8. </div>
  9. <div class="form-row required">
  10. <label for="key" class="label-full">
  11. <strong>Codigo de registro:</strong>
  12. <span class="form-required">*</span></label>
  13. <input type="text" name="codigo" class="input border-5 glow-shadow-2" maxlength="320" tabindex="1" />
  14. </div>
  15. </div>
  16. <fieldset class="ui-controls ">
  17. <button class="ui-button button1" type="submit" name="enviar">
  18. <span>
  19. <span>Continuar</span>
  20. </span>
  21. </button></form>';
  22. if(isset($_POST['enviar'])) {
  23. if(empty($_REQUEST['codigo'])){
  24. echo "No has rellenado todos los campos";
  25. }
  26. }
  27. ?>


Título: Re: ¿Cual es el erro?
Publicado por: Shell Root en 30 Noviembre 2010, 21:34 pm
Podrías leer esto de mi amigo @yoyahack,
:http://yoyahack.blogspot.com/2010/06/empty-o-isset.html

PD: Porque tanto código HTML dentro del echo, no lo podrías poner fuera?. Aunque da igual. XD


Título: Re: ¿Cual es el erro?
Publicado por: DroXio en 30 Noviembre 2010, 21:49 pm
Lo que me has pasado, no me ha solucionado el problema, el problema esque no usa la funcion empty.

Resp. PD: Da igual este dentro del PhP o no


Título: Re: ¿Cual es el erro?
Publicado por: xassiz~ en 30 Noviembre 2010, 22:01 pm
Código
  1. if(isset($_POST['codigo']) && ($_POST['codigo']=="")) die("No rellenaste todos los campos.");
  2.  
:rolleyes:


Título: Re: ¿Cual es el erro?
Publicado por: DroXio en 30 Noviembre 2010, 23:51 pm
Sigue igual, he probado mil formas de ponerlo, pero sigue con el mismo error, siempre pasa al siguiente paso este vacio o no..


Título: Re: ¿Cual es el erro?
Publicado por: xassiz~ en 1 Diciembre 2010, 14:49 pm
Haz un die(), si pones un echo logicamente va seguir ejecutandose el programa :laugh:


Título: Re: ¿Cual es el erro?
Publicado por: cassiani en 1 Diciembre 2010, 17:30 pm
Un ejemplo de tantos que pues aplicar:
Código
  1. <html>
  2. <head>
  3. <script>
  4. function SendForm()
  5. {
  6. if (document.key.codigo.value != '')  
  7. document.key.submit();
  8. else
  9. alert('No has rellenado todos los campos');
  10. }
  11. </script>
  12. </head>
  13. <body>
  14. <?php
  15. echo '<form id="key" name="key" method="post" action="registro.php">
  16. <div class="form-note border-5 glow-shadow" id="usernameNote-note">
  17. <div class="note">
  18. <h5> Codigo de Registro.</h5>Sin el codigo de registro, no podras seguir al siguiente proceso.</div>
  19. <div class="note-arrow">
  20. </div>
  21. </div>
  22. <div class="form-row required">
  23. <label for="key" class="label-full">
  24. <strong>Codigo de registro:</strong>
  25. <span class="form-required">*</span></label>
  26. <input type="text" name="codigo" class="input border-5 glow-shadow-2" maxlength="320" tabindex="1" />
  27. </div>
  28. </div>
  29. <fieldset class="ui-controls ">
  30. <button class="ui-button button1" type="button" name="enviar" onclick="javascript:SendForm()">
  31. <span>
  32. <span>Continuar</span>
  33. </span>
  34. </button></form>';
  35. ?>
  36. </body>
  37. </html>

También puedes hacerlo con AJAX, así validas antes de enviar los datos.


Título: Re: ¿Cual es el erro?
Publicado por: xassiz~ en 1 Diciembre 2010, 18:35 pm
@cassiani: esa "protección" no te sirve de nada, desactivando js o enviando las cabeceras se puede bypassear


Título: Re: ¿Cual es el erro?
Publicado por: cassiani en 1 Diciembre 2010, 18:48 pm
No es una protección, es solo un ejemplo, yo lo hubiera hecho usando XAJAX.