Vandal

Problema con codigo PHP

ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#1  Enviado: 12:08 14/06/2011

Estoy desesperado ya... Tristeza

Tengo que presentar un proyecto de síntesis este viernes, pero me falta insertarle el código PHP a la pagina web, mi problema es el siguiente:

Estoy utilizando el metodo "GET" para enviar los datos del formulario de la pagina, a la base de datos (creada con xampp)el apartado del formulario de la pagina HTML donde pone: <form action="enviarr.php" method="GET">,  lo unico que me hace es descargarme el fichero especificado en la variable action, lo que yo quiero es que los datos especificados en el formulario, los envie y los guarde en la base de datos.

No se si lo he explicado bien, si no quedase claro, lo vuelvo a explciar lo mejor que pueda.

Muchisimas gracias de antemano, estoy desesperado  Smilie
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
RojoRedRouge
Lugar: · 13980 mensajes · Colección
BlogEnviar mensajeAgregar amigoVer relación
#2  Enviado: 12:42 14/06/2011

Mira a ver si no lo estas ejecutando en el localhost. Ese fallo suele ser por eso.
ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#3  Enviado: 12:52 14/06/2011

Para Mascaron Rojo:

Si si, en teoria tiene que abrir el localhost, con el usuario y contraseña y el nombre de la base de datos:
<?php
// datos de configuracion
$ip = ‘localhost’;
$usuario = ‘root’;
$password = ‘root’;
$db_name = ‘bucs’;

// conectamos con la db
$conn = mysql_pconnect($ip,$usuario,$password) or die();

// seleccionamos la base de datos
$huboerror = mysql_select_db($bucs, $conn) or die();

// si se envia el formulario
if ( !empty($_GET['submit']) ) {
$query = “INSERT INTO reservas (Nombre,Dia,Hora_entrada,Hora_salida) values (‘{$_GET['Nombre']}’,‘{$_GET['Dia']}’,‘{$_GET['Hora_entrada']}’,‘{$_GET['Hora_salida']}’)”;
mysql_query($query, $conn);
echo `informacion enviada xD`;
}
?>


Este es el codigo que esta denro de enviarr.php, en teoria esta todo bien  Smilie
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
Mister R.
Lugar: Córdoba · 1049 mensajes · Colección
Enviar mensajeAgregar amigoVer relación
#4  Enviado: 13:24 14/06/2011

Así a bote pronto... ¿por qué no usas el método POST en vez de GET?

El GET siempre lo he usado yo para pasar variables a través de la línea de URL, pero para formulario siempre he tirado de POST. Posiblemente ahí esté el problema.

Un saludo.
ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#5  Enviado: 13:46 14/06/2011

Lo he usado en varias formas, tanto POST como GET Tristeza
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
Red Blood
Lugar: Arenys de Munt · 917 mensajes · Colección
Código SwitchPlayStation NetworkEnviar mensajeAgregar amigoVer relación
#6  Enviado: 17:29 14/06/2011

Para pasar variables a través de un formulario usa siempre metodo POST. Especifica un poco más. Te da algun mensaje de error en pantalla? Pon el codigo html tambien...
Porygon
Luigi r0x
Lugar: Mexicali · 7417 mensajes · Colección
Nintendo NetworkXbox LiveTwitterBlogEnviar mensajeAgregar amigoVer relación
#7  Enviado: 18:14 14/06/2011

Estoy con todos los que dicen que uses POST, también en la inserción pon un or die, por ejemplo

mysql_query($query, $conn);
        or die ("Fallo en la inserción");

Para ver si el problema es ahí

También obtén el valor de las variables del formulario e imprimelas antes de la consulta para ver que estén llegando bien

Ejemplo:

$nombre=$_REQUEST['Nombre'];
$dia=$_REQUEST['Dia'];
$hora_entrada=$_REQUEST['Hora_entrada'];
$hora_salida=$_REQUEST['Hora_salida'];

Haces un print o echo respectivo para cada variable
Mister R.
Lugar: Córdoba · 1049 mensajes · Colección
Enviar mensajeAgregar amigoVer relación
#8  Enviado: 18:36 14/06/2011

Como dice el compañero, antes de conectar con la base de datos comprueba que recibes las variables correctamente imprimiéndolas por pantalla.

echo "Nombre: " . $_POST['Nombre'];
......
echo "Hora salida: " . $_POST['Hora_salida'];

Así descartamos cosas y vamos acotando el problema. Debería de imprimirse por lo menos la cadena que acompaña a cada parámetro; en caso contrario es que no llega a ejecutarse el código en PHP.

Si la variable enviada permanece en blanco, comprueba si los atributos "name" en el formulario coinciden con el nombre de las variables.

Saludos.
ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#9  Enviado: 10:46 15/06/2011  Editado: 10:48 15/06/2011 (1 vez)

Este es el codigo HTML (ya he cambiado al metodo POST como me haveis aconsejado, pero sigue sin funcionarme  Smilie )
________________________________________________________________________________________________
<html>
<head>
<style media="screen" type="text/css">

    body  {background-image:url(GuitarMatrix.jpg);}

.informacion {text-align:center;
     float:left;
     margin-left:450px;
     background-color:green;}

.squeleton {text-align:center;}
</style>
</head>
<body>

<div class="squeleton">
<img class="sasuke" src="squeleton.jpg" usemap="#sasuke">
<map id="sasuke" name="sasuke">

           <area href="web_bucs_español.html" snape="rect" coords="0,0,1315,1315"/>

   </map>
</div>
<div class="informacion">

<form action="enviarr.php" method="POST">
<fieldset>
<legend><h1>Información de reserva</h1></legend>
<label for="Nombre">Nombre:</label>
<input type="text" size="30" name="nombre" id="Nombre" value="" />

<label for="Día">elige día</label>
<select name="dia" id="Dia" value="">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>

<label for="hora_entrada">eliga la hora de entrada:</label>

<select name="hora_entrada" id="Hora_entrada" value="">
<option value="08:00">08:00</option>
<option value="09:00">09:00</option>
<option value="10:00">10:00</option>
<option value="11:00">11:00</option>
<option value="12:00">12:00</option>
<option value="13:00">13:00</option>
<option value="14:00">14:00</option>
<option value="15:00">15:00</option>
<option value="16:00">16:00</option>
<option value="17:00">17:00</option>
<option value="18:00">18:00</option>
<option value="19:00">19:00</option>
<option value="20:00">20:00</option>
<option value="21:00">21:00</option>
<option value="22:00">22:00</option>
<option value="23:00">23:00</option>
<option value="00:00">00:00</option>
<option value="01:00">01:00</option>

</select>

<label for="hora_salida">elige la Hora de salida</label>

<select name="horasalida" id="Hora_salida" value="">
<option value="08:00">08:00</option>
<option value="09:00">09:00</option>
<option value="10:00">10:00</option>
<option value="11:00">11:00</option>
<option value="12:00">12:00</option>
<option value="13:00">13:00</option>
<option value="14:00">14:00</option>
<option value="15:00">15:00</option>
<option value="16:00">16:00</option>
<option value="17:00">17:00</option>
<option value="18:00">18:00</option>
<option value="19:00">19:00</option>
<option value="20:00">20:00</option>
<option value="21:00">21:00</option>
<option value="22:00">22:00</option>
<option value="23:00">23:00</option>
<option value="00:00">00:00</option>
<option value="01:00">01:00</option>

</select>

<button type="submit" value="enviar">Envia</button>
</fieldset>
</form>
</div>
</body>

</html>
_________________________________________________________________________________________________

Y el nuevo codigo PHP, cambiando GET por POST:
_________________________________________________________________________________________________
<?php
// datos de configuracion
$ip = ‘localhost’;
$usuario = ‘root’;
$password = ‘root’;
$db_name = ‘bucs’;

echo "Nombre:" . $_POST['Nombre'];
echo "Dia" . $_POST['Dia'];
echo "Hora entrada:" . $_POST['Hora_entrada'];
echo "Hora salida:" . $_POST['Hora_salida'];

// conectamos con la db
$conn = mysql_pconnect($ip,$usuario,$password) or die("Fallo en la conexión");

// seleccionamos la base de datos
$huboerror = mysql_select_db($bucs, $conn) or die("Fallo en la inserción");

// si se envia el formulario
if ( !empty($_POST['submit']) ) {
$query = “INSERT INTO reservas (Nombre,Dia,Hora_entrada,Hora_salida) values (‘{$_POST['Nombre']}’,‘{$_POST['Dia']}’,‘{$_POST['Hora_entrada']}’,‘{$_POST['Hora_salida']}’)”;
mysql_query($query, $conn);
echo `informacion enviada `;
}
?>

_________________________________________________________________________________________________

Tambien he añadido los echo para ver si las variables llegan bien, pero me sigue haciendo lo mismo, como si estuviera descargando el fichero "enviarr.php" en vez de utilizar el codigo que hay dentro  Tristeza

Gracias a todos de nuevo por la ayuda  Sonrisa
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
negative
mancheguian surfer
Lugar: Surrealtopia · 12966 mensajes · Colección
Código SwitchTwitterEnviar mensajeAgregar amigoVer relación
#10  Enviado: 10:51 15/06/2011

Es super raro porque yo no veo nada malo, no puedes probarlo en un servidor de prueba¿?, tiene pinta que es cosa del xammp o porque estás  en local que el guindous a ves se vuelve un poco loco. ¿Has probado con otros phps? ¿Y con un formulario mucho mas básico?
Todos somos gilipollas a veces, la gracia está en serlo el menor tiempo posible.
ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#11  Enviado: 11:08 15/06/2011

Para negativeboy:
Lo estoy haciendo en una maquina virtual Güindous server 2003, descargue el xampp, hize la base de datos (de nombre "bucs") y una tabla llamada "reservas" (ya que para la poca información que envio, no hacia falta poner mas tablas) pero en teoria deberia de irme Tristeza la pagina web esta alojada en la carpeta "htdocs" del xampp, para acceder desde otra maquina virtual (ciente) y demostrar el ejemplo de que funciona, ya que lo tengo que exponer delante de un tribunal.

Pero es lo que dices, en teoria deberia de funcionarme, peor lo unico que hace es descargarme el fichero, en vez de utilizarlo para que funcione  Smilie  es muy raro Smilie  
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
negative
mancheguian surfer
Lugar: Surrealtopia · 12966 mensajes · Colección
Código SwitchTwitterEnviar mensajeAgregar amigoVer relación
#12  Enviado: 11:41 15/06/2011  Editado: 11:43 15/06/2011 (1 vez)

Pues acabo de hacer la prueba en mac con tu código y a mi lo que me da es fallo en la inserción de la hora de salida, pero no me lo descarga, como pensaba es cosa del güindows, pasa de las máquinas virtuales que engañan musho.

Ah, y el nombre no lo pilla.
Todos somos gilipollas a veces, la gracia está en serlo el menor tiempo posible.
ovito
¡Quien coño te crees que soy!
Lugar: Isla punteria · 432 mensajes · Colección
Código SwitchBlogEnviar mensajeAgregar amigoVer relación
#13  Enviado: 11:45 15/06/2011  Editado: 11:49 15/06/2011 (1 vez)

a sii? :O buah, es que el problema que tengo es que tiene que ser con el guinodus para la presentación... Tristeza

al emnos se que el codigo esta emdianamente bien, y que debo hacer para que el nombre i la Hora_salida me lo pille?  Smilie
Els meus somnis perdurarán, en les marees dels temps, perque mentre hi hagi gent, que busqui la resposta en la llibertat...NO MORIRAN MAI!!! (Gold Roger,antic rei dels pirates)                                                                                                                                                         La vida es sencilla, toma decisiones y no mires atrás.
Este tema está inactivo y no se puede replicar más.
Buscar en el foro: En foro: Tipo:
Foro de Vandal
>
Flecha subir