Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: invdoolca en 20 Enero 2015, 17:03 pm



Título: Pequeño problema con codigo php.
Publicado por: invdoolca en 20 Enero 2015, 17:03 pm
Hola


Título: Re: Pequeño problema con codigo php.
Publicado por: MinusFour en 20 Enero 2015, 18:17 pm
Tu código funciona, estas guardando todas las variables concatenadas aqui:

Código
  1. fwrite($file,$nombre.$apellido.$carrera.$materia);

Si quieres separarlas:

Código
  1. fwrite($file,"$nombre $apellido $carrera $materia");

Obviamente, el orden las variables determina el orden en que se escriben al archivo de texto.


Título: Re: Pequeño problema con codigo php.
Publicado por: MinusFour en 20 Enero 2015, 18:40 pm
Tienes que agregar el caracter correcto para la nueva linea (en windows se usa \r\n y en otros \n).

Puedes usar:
Código
  1. fwrite($file,$nombre.PHP_EOL.$apellido.PHP_EOL.$carrera.PHP_EOL.$materia.PHP_EOL);


Título: Re: Pequeño problema con codigo php.
Publicado por: MinusFour en 20 Enero 2015, 19:23 pm
Ok amigo me ha servido de mucho gracias, ahora otra pregunta.
Como hago para redireccionar a otra pagina a lo que le de a enviar?

Si no has enviado ninguna cabecera http antes:

Código
  1. header("Location: http://paginaaredirigir.com");


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 20 Enero 2015, 22:11 pm
¿Porqué no haces ese mismo efecto con puro CSS?

(http://i.imgur.com/vCtFlpG.png?1)

Código
  1. .textfield
  2. {
  3.  border: 1px solid #ccc;
  4.  box-shadow: 0px 0px 0px 10px #fff,
  5.    0px 0px 0px 11px #ccc,
  6.    0px 2px 0px 11px #999;
  7.  border-radius: 2px;
  8.  color: #888;
  9.  font-size: 20pt;
  10.  padding: .25rem .5rem;
  11.  transition: all .25s linear;
  12. }
  13. .textfield:focus
  14. {
  15.  border: 1px solid rgba(0,144,255,.4);
  16. }


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 20 Enero 2015, 22:19 pm
En tu HTML, por ejemplo (lo único que importa para poder utilizar el estilo es que le asignes a los input que desees la clase 'textfield'):

Código
  1. <input type="text" class="textfield" />

Y en tu hoja de estilos:

Código
  1. .textfield
  2. {
  3.    border: 1px solid #ccc;
  4.     box-shadow: 0px 0px 0px 10px #fff,
  5.       0px 0px 0px 11px #ccc,
  6.       0px 2px 0px 11px #999;
  7.     border-radius: 2px;
  8.     color: #888;
  9.     font-size: 20pt;
  10.     padding: .25rem .5rem;
  11.     transition: all .25s linear;
  12. }
  13. .textfield:focus
  14. {
  15.     border: 1px solid rgba(0,144,255,.4);
  16. }


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 20 Enero 2015, 22:50 pm
Tu Formulario:

Código
  1. <div><form action="enviar.php" method="post">
  2. <p><input id="nombre" class="textfield" name="nombre" type="text" />&nbsp;</p>
  3. <p><input id="apellido" class="textfield" name="apellido" type="password" /><br />
  4. <input type="submit" value="Enviar" />&nbsp;
  5. </form></div>

Y en tu hoja de estilos (.css) agregas el código que te puse:

Código
  1. .textfield
  2. {
  3.    border: 1px solid #ccc;
  4.    box-shadow: 0px 0px 0px 10px #fff,
  5.       0px 0px 0px 11px #ccc,
  6.       0px 2px 0px 11px #999;
  7.    border-radius: 2px;
  8.    color: #888;
  9.    font-size: 20pt;
  10.    padding: .25rem .5rem;
  11.    transition: all .25s linear;
  12. }
  13. .textfield:focus
  14. {
  15.    border: 1px solid rgba(0,144,255,.4);
  16. }

Y eso es todo. Como recomendación te diría no utilizar saltos de línea en HTML (<br />), ya que puedes posicionar los elementos como desees (en la mayoría de los casos xD) con CSS. Pero ese ya es otro tema, tienes que estudiar CSS.


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 20 Enero 2015, 23:04 pm
Sí, así te vale.


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 20 Enero 2015, 23:52 pm
Formulario:
Código
  1. <section class="panel">
  2.  
  3.  <section class="panel-head">
  4.    <span class="logo"></span>
  5.    <p class="panel-title">T&#237;tulo del form</p>
  6.  </section>
  7.  
  8.  <section class="panel-body">
  9.  
  10.    <section class="form-group-hoz">
  11.      <label for="nombre">Nombre:</label>
  12.      <input type="text" id="nombre" class="textfield"/>
  13.    </section>
  14.  
  15.    <section class="form-group-hoz">
  16.      <label for="apellido">Apellido:</label>
  17.      <input type="text" id="apellido" class="textfield"/>
  18.    </section>
  19.  
  20.    <section class="form-btn-group-hoz">
  21.      <button type="submit" class="btn btn-primary">Enviar</button>
  22.      <button type="reset" class="btn btn-default">Limpiar</button>
  23.    </section>
  24.  
  25.  </section>
  26.  
  27. </section>

CSS:

Código
  1. .panel
  2. {
  3. border: 1px solid #ccc;
  4. box-shadow: 0px 0px 10px 1px rgba(0,0,0,.14);
  5. width: 450px;
  6. }
  7. .panel-head
  8. {
  9. align-items: center;
  10. display: flex;
  11. justify-content: space-between;
  12. padding: .5rem .25rem;
  13. }
  14. .logo
  15. {
  16. display: block;
  17. background: url('php-logo.png') no-repeat;
  18. background-size: cover;
  19. height: 100px;
  20. width: 100px;
  21. }
  22. .panel-title
  23. {
  24. display: flex;
  25. color: #777;
  26. font-family: 'segoe ui';
  27. justify-content: flex-start;
  28. font-size: 14pt;
  29. width: calc(100% - 120px);
  30. }
  31. .panel-body
  32. {
  33. padding: 1rem 1.8rem;
  34. }
  35. .form-group-hoz
  36. {
  37. display: flex;
  38. align-items: center;
  39. justify-content: space-between;
  40. margin-bottom: 35px;
  41. }
  42. .form-btn-group-hoz
  43. {
  44. display: flex;
  45. align-items: center;
  46. justify-content: flex-end;
  47. }
  48. label
  49. {
  50. color: #777;
  51. font-family: 'segoe ui';
  52. font-size: 14pt;
  53. }
  54. .textfield
  55. {
  56.    border: 1px solid #ccc;
  57.    box-shadow: 0px 0px 0px 10px #fff,
  58.       0px 0px 0px 11px #ccc,
  59.       0px 2px 0px 11px #999;
  60.    border-radius: 2px;
  61.    color: #888;
  62.    font-size: 14pt;
  63.    padding: .25rem .5rem;
  64.    transition: all .25s linear;
  65.    width: 60%;
  66. }
  67. .textfield:focus
  68. {
  69.    border: 1px solid rgba(0,144,255,.4);
  70. }
  71. .btn {
  72. border: 1px solid #ccc;
  73. border-radius: 2px;
  74. font-family: "segoe ui";
  75. padding: 12px 26px;
  76. }
  77. .btn:hover {
  78. outline: none;
  79. }
  80. .btn:last-child
  81. {
  82. margin-left: 10px;
  83. }
  84. .btn-default {
  85. background-color: #E7E7E7;
  86. border: 1px solid #E7E7E7;
  87. color: #555;
  88. }
  89. .btn-default:hover {
  90. background-color: #B9B9B9;
  91. border: 1px solid #B9B9B9;
  92. color: #333;
  93. }
  94. .btn-primary {
  95. background-color: #337AB7;
  96. border: 1px solid #337AB7;
  97. color: rgba(255,255,255,.9);
  98. }
  99. .btn-primary:hover {
  100. background-color: #286090;
  101. border: 1px solid #286090;
  102. }

Resultado:
(http://i.imgur.com/b0tEnqh.png?1)

Podrías aumentar la fuente del botón editando el CSS, en .btn, agrega un font-size: 16pt;.

Como lo quieres grandote, pues hice los botones más grandes mediante la propiedad padding. Personalmente, haría todo tamaño estándar.


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 21 Enero 2015, 01:30 am
Para eso necesito saber qué contenedor es el que tiene el margen. Si tu no le has dado ese margen, podrías aplicar un reset general al principio de tu hoja de estilos. Es necesario que sea al principio de todo.

Código
  1. *
  2. {
  3.    margin: 0;
  4.    padding: 0;
  5. }


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 21 Enero 2015, 13:04 pm
Es muy difícil poder darte una solución eficiente ignorando tantos detalles.

Por ejemplo, si es el único elemento visible (el form) y quieres que se pegue a la esquina izquierda, puedes hacer lo siguiente:

Agregarle un conenedor con la clase 'panel-wrapper', y hacer que éste tenga una posición absoluta, por lo tanto, podrás colocarlo donde desees mediante las propiedades top, right, bottom y left.

Otra opción es aplicar un display flex horizontal y hacer un align-items: flex-start y un justify-content: flex-start. Ésto es mucho mejor ya que cuando bajemos el scroll por ejemplo, el formulario no se verá, en tanto si lo hacemos de la otra manera, el formulario siempre estará visible ya que tiene una posición absoluta en pantalla.

Código
  1. <section class="panel-wrapper">
  2. <section class="panel">
  3.  
  4. <section class="panel-head">
  5. <span class="logo"></span>
  6. <p class="panel-title">T&#38;#237;tulo del form</p>
  7. </section>
  8.  
  9. <section class="panel-body">
  10.  
  11. <section class="form-group-hoz">
  12. <label for="nombre">Nombre:</label>
  13. <input type="text" id="nombre" class="textfield"/>
  14. </section>
  15.  
  16. <section class="form-group-hoz">
  17. <label for="apellido">Apellido:</label>
  18. <input type="text" id="apellido" class="textfield"/>
  19. </section>
  20.  
  21. <section class="form-btn-group-hoz">
  22. <button type="submit" class="btn btn-primary">Enviar</button>
  23. <button type="reset" class="btn btn-default">Limpiar</button>
  24. </section>
  25.  
  26. </section>
  27.  
  28. </section>
  29. </section>

1era forma:

Código
  1. .panel-wrapper
  2. {
  3. left: 0;
  4. position: absolute;
  5. top: 0;
  6. width: 450px;
  7. }

2da forma (recomendada):

Código
  1. .panel-wrapper
  2. {
  3. align-items: flex-start;
  4. display: flex;
  5. flex-flow: row nowrap;
  6.        height: 100vh;
  7. justify-content: flex-start;
  8. margin: 0;
  9. padding: 0;
  10. width: 100%;
  11. }

Funciona en versiones actuales de Firefox y Chrome. No testeado en IE.


Título: Re: Pequeño problema con codigo php.
Publicado por: Usuario Invitado en 21 Enero 2015, 20:13 pm
Mejor crea un nuevo tema con tus problemas de diseño en ésta misma categoría. El tema se ha disvirtuado mucho desde la duda original.