Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Barakas

Páginas: [1]
1
PHP / Re:Registrando una encuesta en la base de datos
« en: 30 de Octubre de 2013, 10:04:38 am »
Me alegro que lo solucionaras por ti mismo Barakas, eso es bueno.

PD: La programación es comerte el coco para solucionar problemas, aveces una simple coma te hace pensar muchos días jejejeje

Un saludo.

Gracias por tu ayuda MaNuX, tienes razón, pero empiezo a ser adicto a esa adrenalina que da la programación  :P :P :P

Saludos

2
PHP / Re:Registrando una encuesta en la base de datos
« en: 28 de Octubre de 2013, 16:24:00 pm »
Acabo de encontrar el error!!

Era una comilla simple de enviar.php

$query =    "INSERT INTO encuesta (id,pregunta1,pregunta2,pregunta3,pregunta4,pregunta5,comentario,fecha,restaurante)
         VALUES ('',$respuesta1','$respuesta2','$respuesta3','$respuesta4','$respuesta5','$comentario','$fecha','$restaurante')";

El problema que tengo es que me registra la fecha a 0 ¿Qué podría ser?

EDIT: Solucionado, era por el formato datetime de la base de datos :)

3
PHP / Re:Registrando una encuesta en la base de datos
« en: 28 de Octubre de 2013, 15:38:27 pm »
Podrias mostrar el código del formulario, por que me da a que llamas a todos los formularios a la vez cuando lo quieres enviar, no estoy seguro.

Saludos.

Hola MaNuX, gracias por tu respuesta. Te voy a poner el código de todos porque son muy cortos.

pregunta1.php

Código: [Seleccionar]
            <form id="form1" name="form1" method="post" action="pregunta2.php">
                <label for="select"></label>
                <input type="submit" name="respuesta1" value="Bueno" />
           
                <input type="submit" name="respuesta1" value="Regular" />
             
                <input type="submit" name="respuesta1" value="Malo" />
              </p>
            </form>

pregunta2.php

Código: [Seleccionar]
<?php
$respuesta1 
$_POST[&#39;respuesta1&#39;];
?>

            <form id="form1" name="form1" method="post" action="pregunta3.php">
                <label for="select"></label>
                <input type="submit" name="respuesta2" value="Bueno" />
           
                <input type="submit" name="respuesta2" value="Regular" />
             
                <input type="submit" name="respuesta2" value="Malo" />
               
                <input type="hidden" name="respuesta1" value="<?php echo $respuesta1?>" />
           
            </form>

pregunta3.php

Código: [Seleccionar]
<?php
$respuesta1 
$_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
?>

            <form id="form1" name="form1" method="post" action="pregunta4.php">
                <label for="select"></label>
                <input type="submit" name="respuesta3" value="Bueno" />
           
                <input type="submit" name="respuesta3" value="Regular" />
             
                <input type="submit" name="respuesta3" value="Malo" />
               
                <input type="hidden" name="respuesta1" value="<?php echo $respuesta1?>" />
                <input type="hidden" name="respuesta2" value="<?php echo $respuesta2?>" />
           
            </form>

pregunta4.php

Código: [Seleccionar]
<?php
$respuesta1 
$_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
$respuesta3 $_POST[&#39;respuesta3&#39;];
?>

            <form id="form1" name="form1" method="post" action="pregunta5.php">
                <label for="select"></label>
                <input type="submit" name="respuesta4" value="Bueno" />
           
                <input type="submit" name="respuesta4" value="Regular" />
             
                <input type="submit" name="respuesta4" value="Malo" />
               
                <input type="hidden" name="respuesta1" value="<?php echo $respuesta1?>" />
                <input type="hidden" name="respuesta2" value="<?php echo $respuesta2?>" />
                <input type="hidden" name="respuesta3" value="<?php echo $respuesta3?>" />
           
            </form>

pregunta5.php

Código: [Seleccionar]
<?php
$respuesta1 
$_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
$respuesta3 $_POST[&#39;respuesta3&#39;];
$respuesta4 $_POST[&#39;respuesta4&#39;];
?>

            <form id="form1" name="form1" method="post" action="comentario.php">
                <label for="select"></label>
                <input type="submit" name="respuesta5" value="Bueno" />
           
                <input type="submit" name="respuesta5" value="Regular" />
             
                <input type="submit" name="respuesta5" value="Malo" />
               
                <input type="hidden" name="respuesta1" value="<?php echo $respuesta1?>" />
                <input type="hidden" name="respuesta2" value="<?php echo $respuesta2?>" />
                <input type="hidden" name="respuesta3" value="<?php echo $respuesta3?>" />
                <input type="hidden" name="respuesta4" value="<?php echo $respuesta4?>" />
           
            </form>

comentario.php

Código: [Seleccionar]
<?php
$respuesta1 
$_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
$respuesta3 $_POST[&#39;respuesta3&#39;];
$respuesta4 $_POST[&#39;respuesta4&#39;];
$respuesta5 $_POST[&#39;respuesta5&#39;];
?>

            <form id="form1" name="form1" method="post" action="enviar.php">
              <p>
                <label for="textarea"></label>
                <textarea name="comentario" id="textarea" cols="90" rows="5"></textarea>
               
              </p>
              <p>
                <label for="select"></label>
                <input type="submit" name="button" id="button" value="Enviar" />
                <br />
 
                <input type="hidden" name="respuesta1" value="<?php echo $respuesta1?>" />
                <input type="hidden" name="respuesta2" value="<?php echo $respuesta2?>" />
                <input type="hidden" name="respuesta3" value="<?php echo $respuesta3?>" />
                <input type="hidden" name="respuesta4" value="<?php echo $respuesta4?>" />
                <input type="hidden" name="respuesta5" value="<?php echo $respuesta5?>" />
              </p>
            </form>

Por último enviar.php

Código: [Seleccionar]
<?php 
//recibimos las variables enviadas por el formulario 
$respuesta1 $_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
$respuesta3 $_POST[&#39;respuesta3&#39;];
$respuesta4 $_POST[&#39;respuesta4&#39;];
$respuesta5 $_POST[&#39;respuesta5&#39;];
$comentario $_POST[&#39;comentario&#39;];
$fecha date("d-m-Y");
$restaurante = &#39;Restaurante&#39;;
//conectamos a la base
$host "localhost"
$usuario "usuario"
$clave "clave";
$bd "bd01";
$connect=mysql_connect ($host$usuario$clave); 
// seleccionamos la base 
mysql_select_db $bd$connect ); 

// definimos la consulta
$query  "INSERT INTO encuesta (id,pregunta1,pregunta2,pregunta3,pregunta4,pregunta5,comentario,fecha,restaurante)
VALUES (&#39;&#39;,
$respuesta1&#39;,&#39;$respuesta2&#39;,&#39;$respuesta3&#39;,&#39;$respuesta4&#39;,&#39;$respuesta5&#39;,&#39;$comentario&#39;,&#39;$fecha&#39;,&#39;$restaurante&#39;)";
// hacemos la consulta
mysql_query ($query$connect) or die (mysql_error());
?>

Para probarlo, hice un enviar.php imprimiendo los resultados y sale todo correctamente, el problema que tengo es con la base de datos...o eso parece  ???

Saludos!

4
PHP / Registrando una encuesta en la base de datos
« en: 28 de Octubre de 2013, 12:47:27 pm »
Muy buenas,

Después de tantear algunos formularios que envían por web, he querido probar algo más difícil, una encuesta.
Esta encuesta es algo especial, ya que no he querido poner todas las preguntas en un mismo archivo, por lo que la he dividido en 5 archivos diferentes y un comentario a través de "input" de tipo hidden:

<input type="hidden" name="respuesta1" value="<?php echo $respuesta1; ?>" />

Esto me ha servido ya que los valores han llegado hasta el último sin errores. El problema viene a la hora de registrarlo en la base de datos desde enviar.php que me da de respuesta undefined.

Os pongo primero la base de datos:

Código: [Seleccionar]
CREATE TABLE IF NOT EXISTS `encuesta` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `pregunta1` varchar(10) NOT NULL,
  `pregunta2` varchar(10) NOT NULL,
  `pregunta3` varchar(10) NOT NULL,
  `pregunta4` varchar(10) NOT NULL,
  `pregunta5` varchar(10) NOT NULL,
  `comentario` varchar(300) NOT NULL,
  `fecha` datetime NOT NULL,
  `restaurante` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Y luego el enviar.php:

Código: [Seleccionar]
<?php 
//recibimos las variables enviadas por el formulario 
$respuesta1 $_POST[&#39;respuesta1&#39;];
$respuesta2 $_POST[&#39;respuesta2&#39;];
$respuesta3 $_POST[&#39;respuesta3&#39;];
$respuesta4 $_POST[&#39;respuesta4&#39;];
$respuesta5 $_POST[&#39;respuesta5&#39;];
$comentario $_POST[&#39;comentario&#39;];
$fecha date("d-m-Y");
$restaurante = &#39;Restaurante&#39;;
//conectamos a la base
$host "localhost"
$usuario "usuario"
$clave "clave";
$bd "bd01";
$connect=mysql_connect ($host$usuario$clave); 
// seleccionamos la base 
mysql_select_db $bd$connect ); 

// definimos la consulta
$query  "INSERT INTO encuesta (id,pregunta1,pregunta2,pregunta3,pregunta4,pregunta5,comentario,fecha,restaurante)
VALUES (&#39;&#39;,
$respuesta1&#39;,&#39;$respuesta2&#39;,&#39;$respuesta3&#39;,&#39;$respuesta4&#39;,&#39;$respuesta5&#39;,&#39;$comentario&#39;,&#39;$fecha&#39;,&#39;$restaurante&#39;)";
// hacemos la consulta
mysql_query ($query$connect) or die (mysql_error());
?>

A ver en que he fallado jeje

Gracias =)


EDIT: AMPLIO INFORMACIÓN

La encuesta se dividide en varios archivos (pregunta1.php, pregunta2.php,...pregunta5.php, comentario.php) y cada respuesta se va guardando en el tipo hidden para que se vaya pasando de uno a otro hasta llegar al último que lo envia a enviar.php que es el código php que he pegado arriba.

La idea era poder guardar las respuestas de un archivo a otro para finalmente enviarlo a la base de datos. Los únicos input que se muestran son los de la pregunta actual...por ejemplo: en pregunta3.php se muestra la pregunta 3 pero se ocultan los resultados de pregunta1.php y pregunta2.php para que no se pierdan.

5
PHP / Re:Utilizando la ingenieria inversa para aprender con un formulario
« en: 15 de Octubre de 2013, 17:56:15 pm »
Hola MaNuX,

Gracias por el consejo, intentaré empezar por algo básico. Lo que si es verdad que necesito el formulario que he pegado dado que voy a necesitar que envíen fotografías junto al formulario. Pero creo que haré uno sencillo aunque solo me sirva de aprendizaje :).

Saludos!

PD: El foro está un poco abandonado verdad? Es una pena porque lo veo muy valioso y necesario

6
PHP / Utilizando la ingenieria inversa para aprender con un formulario
« en: 11 de Octubre de 2013, 19:17:03 pm »
Muy buenas!

Llevo poco tiempo profundizando el PHP, ya me he visto los típicos tutoriales que empiezan con variables/consonantes, estructuras condicionales, bucles, funciones, etc...y ahora he ido directo a un formulario (que por cierto necesito utilizar) para entender su funcionamiento.

El caso es que no se si he dado un salto muy largo, ya que hay cosas que no entiendo...

Antes que nada pego el código del formulario:

Código: [Seleccionar]
<?php
/*
NOTA: 
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777. 
*/
//CONFIGURACION 
$maximo_tamano= &#39;600000&#39;;  //tamaño maximo de los archivos. 100000 equivale a 100kb.
$direccion_envio= &#39;mi@email.com&#39;;  //la direccion a la que se enviara el email.
$url= &#39;http://www.tragatapas.com/landing/05&#39;; //la URL donde esta publicado el formulario. SIN la barra al final

//FIN CONFIGURACION
?>



<?PHP
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {

//recogemos las variables
$nombre=$_POST['nombre'];
$email=$_POST['email'];
$comentario=$_POST['comentario'];

//comprobamos si se adjunto un archivo, y si su tamano es menor al permitido
if (isset($_FILES['archivo']['tmp_name'])) {
$tipo=$_FILES['archivo']['type'];
//Formatos de archivo permitidos, si desean agregar mas, agregar un case para cada formato.
switch ($tipo) {
case "image/gif":
$ext="gif";
break;
case "image/pjpeg":
$ext="jpg";
break;
case "image/jpeg":
$ext="jpg";
break;
case "image/png":
$ext="png";
break;
case "application/zip":
$ext="zip";
break;
default:
$ext="error";
break;
}

$aleatorio = rand();
$nombreoriginal= explode ('.', $_FILES['archivo']['name']);
$tamano=$_FILES['archivo']['size'];
$nuevonombre=$nombreoriginal[0].'-'.$aleatorio.'.'.$ext;
}

if (isset ($nuevonombre)) {
if ($ext=="error") {$error_archivo="<br />- Formato de archivo no permitido.";}
if ($tamano > $maximo_tamano) {$error_archivo="<br />- El tama&ntilde;o de su archivo supera el m&aacute;ximo permitido.";}
}

//comprobamos si todos los campos fueron completados
if ($nombre!='' && $email!='' && $comentario!='' && $error_archivo=='') {

// copiamos el archivo en el servidor
copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre);

//armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Contacto desde formulario</h2>';
$contenido .= '<p>Enviado el '.  date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong>';
$contenido .= '<p>Email: <strong>'.$email.'</strong>';
$contenido .= '<p>Archivo: <strong><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a> (formato:'.$ext.' - '.$tamano.' bytes)</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';

// si todos los campos fueron completados enviamos el mail
mail ($direccion_envio, "Contacto desde el formulario", $contenido, "From: $nombre\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
$flag='ok';
$mensaje='<div id="ok">Su archivo ha sido cargado con &eacute;xito<br /> Gracias por Contactarnos</div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';

}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Contactenos - v2</title>

<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
font-size: 76%;}

#form {
  border: 3px double #eaeaea;
  background-color: #FFC;
  padding: 1em;
  width: 30em;
  margin: auto;}

#form h2{
font-size: 2em;
margin: 0 0 0.5em 0;
padding: 0;}


#form .campo {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.5em;}

#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.5em;}

#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.5em;
width:18em;
height: 10em;
font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}

#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:18em;
height: 10em;
font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}

  #form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}

#error {
  border: 1px dashed #F00;
  background-color: #FFF;
  padding: 5px;}

#ok {
    border: 1px dashed #060;
    background-color:#FFF;
    padding: 5px;}

</style>

</head>
<body>
<div id="form">

<h2>Formulario de Contacto v2</h2>
<p>Ejemplo del formulario de contacto con env&iacute;o de archivo</p>

<? echo $mensaje; /*mostramos el estado de envio del form */ ?>
<? if ($flag!='ok') { ?>
<form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<p>Nombre* <br />
<input <? if (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<? echo $_POST['nombre'];?>" /></p>

<p>Email* <br />
<input <? if (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email"  value="<? echo $_POST['email'];?>" /></p>


<p>Subir Archivo*<br />(Formatos permitidos: .gif, .jpg, .png, .zip) <br />
<input <? if (isset ($flag) && $ext=='error' || $tamano > $maximo_tamano) { echo 'class="error"';} else {echo 'class="campo"';} ?> type="file" name="archivo"  value="<? echo $_FILE['archivo'];?>" /></p>

<p>Comentario* <br />
<textarea <? if (isset ($flag) && $_POST['comentario']=='') { echo 'class="com-error"';} else {echo 'class="com"';} ?> name="comentario"><? echo $_POST['comentario'];?></textarea></p>
<p><input class="boton" type="submit" name="enviar" value="enviar" /></p>
</form>
<? } ?>
</div> <!-- end form-->

</body>
</html>

Hasta los formatos de archivos no tengo problema, he tenido que investigar que era un switch y he podido entender para que será el uso en el formulario, pero cuando llego a:

Código: [Seleccionar]
$aleatorio = rand();
$nombreoriginal= explode ('.', $_FILES['archivo']['name']);
$tamano=$_FILES['archivo']['size'];
$nuevonombre=$nombreoriginal[0].'-'.$aleatorio.'.'.$ext;

Aquí me pierdo, el explode supuestamente divide un string (algo que también me ha liado, he buscado y mas o menos he entendido).
El caso es que estoy escribiendo el código en otro archivo desde 0 para ir haciéndolo yo, pero no entiendo esta parte ni como se arma.

Más adelante entiendo bastante, la función mail la entiendo porque la he investigado.

Uff, esto del php está siendo más duro de lo que pensaba...siento que me falta más tutoriales, pero todos los que vi explican 4 cosas y hace un formulario en el que parece que falta más tutorial por medio, como que me faltan cosas por saber antes de realizarlo.

Bueno sigo investigando, podría hacer un formulario más sencillo pero es el único que vi con envío de imágenes a un ftp.
Aún así no pierdo la esperanza, quiero progresar y hacer cosas más complejas!!

Saludos y gracias!!

7
Presentaciones / Me presento desde Málaga
« en: 10 de Octubre de 2013, 13:35:43 pm »
Muy buenas!!

Acabo de descubrir este foro googleando :)

Nunca he aprendido php pero si lo he tocado obligado en wordpress y para algún formulario...como soy muy emprendedor quiero aprender bien a programar y hacer cosillas  :D :D

Estoy ahora siguiendo el curso de idesweb http://www.tutellus.com/817/idesweb

Si me recomiendan otro, aunque sea de pago, os lo agradezco!

Saludos!!

EDIT: Acabo de ver vuestra sección tutoriales y...DIOS, paraiso encontrado  :o :o

Páginas: [1]