Foros del Web » Programando para Internet » PHP »

Problemas con inserciones en mysql

Estas en el tema de Problemas con inserciones en mysql en el foro de PHP en Foros del Web. Hola buenas tarde primero que nada gracias por leer esto espero que mi pregunta no este fuera del lugar en el que debería de estar ...
  #1 (permalink)  
Antiguo 29/11/2014, 17:59
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta Problemas con inserciones en mysql

Hola buenas tarde primero que nada gracias por leer esto espero que mi pregunta no este fuera del lugar en el que debería de estar bien mi problema es el siguiente estoy realizando una aplicación web para un hotel pero estoy batallando en esta pequeña parte de inserción a mysql al tratar de insertar un dato me manda un mensaje de que tengo un dato vació
este es mi código donde declaro las variables :
<div class="tabs_cont">
<form id="form_1" method="post" action="reservaciones.php">

<div>
Tipo de habitacion:
<select name="thabitacion">
<option value="Sencilla">Sencilla</option>
<option value="Doble">Doble</option>
<option value="Triple">Triple</option></select>
</div>

<div>Fecha llegada<input type="date" name="FechaE"></div>
<div>Fecha salida<input type="date" name="FechaS"></div>
<div>
Adultos <select name="adultos">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option></select>
</div>
<div>
Niños <select name="niños">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option></select>
</div>

<div><a class="button" onclick="document.getElementById('form_1').submit( )">Reservar</a><div>
</div>
</form>
</div>
</div>

codigo php para la insercion;
<?php
$th=$_POST['thabitacion'];
$FE=$_POST['FechaE'];
$FS=$_POST['FechaS'];
$adul=$_POST['adultos'];
$n=$_POST['niños'];

?>

<?php
$conecta=mysql_connect("localhost","root","root");
mysql_select_db("agencia",$conecta);
$cla=3;

if($th=="" or$FE=="" or$FS=="" or $adul=="" or $n=="")
{
echo "NO DEBES DEJAR ESPACIOS VACIOS";
}
else
{
$resulta=mysql_query("INSERT into reservaciones (thabitacion,FechaE,FechaS,adultos,niños) values('$th','$FE','$FS','$adul','$n')");
mysql_close($conecta);
echo " <br> ";
echo "LOS DATOS FUERON GUARDADOS CORRECTAMENTE!!!";
}
?>

Espero me puedan ayudar y de ante mano muchas gracias
  #2 (permalink)  
Antiguo 29/11/2014, 18:07
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problemas con inserciones en mysql

Tienes un error de sintaxis en el condicional que creas para saber si los campos están llenos

Código PHP:
Ver original
  1. if((!$th)or(!$FE)or(!$FS)or(!$adul)or(!$n))
  2. {
  3.     echo "NO DEBES DEJAR ESPACIOS VACIOS";
  4. }
  5. else
  6. {
  7.     $resulta=mysql_query("INSERT into reservaciones (thabitacion,FechaE,FechaS,adultos,niños) values('".$th."','".$FE."','".$FS."','".$adul."','".$n."')");
  8.     mysql_close($conecta);
  9.     echo " <br> ";
  10.     echo "LOS DATOS FUERON GUARDADOS CORRECTAMENTE!!!";
  11. }
__________________
Diseño Web - Arisman Web
  #3 (permalink)  
Antiguo 29/11/2014, 18:11
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

gracias por la pronta respuesta mas sin embargo he modificado la sintaxis y me sigue marcando el mismo error de datos vacíos!!
  #4 (permalink)  
Antiguo 29/11/2014, 18:29
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problemas con inserciones en mysql

A ver, el error que te marca que es el que tu pones o un error de mysql??
__________________
Diseño Web - Arisman Web
  #5 (permalink)  
Antiguo 29/11/2014, 18:36
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

al intentar ingresar los datos en la aplicación me manda el echo que indica capos vacios aun y cuando cambie todos los campos a tipo texto
  #6 (permalink)  
Antiguo 29/11/2014, 18:40
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problemas con inserciones en mysql

Cita:
Iniciado por LuisHerrera Ver Mensaje
al intentar ingresar los datos en la aplicación me manda el echo que indica capos vacios aun y cuando cambie todos los campos a tipo texto
Prueba a hacer un echo de las variables $_POST para saber si el formulario te está enviando los datos, algo así:

Código PHP:
Ver original
  1. <?php
  2. $th=$_POST['thabitacion'];
  3. $FE=$_POST['FechaE'];
  4. $FS=$_POST['FechaS'];
  5. $adul=$_POST['adultos'];
  6. $n=$_POST['niños'];
  7.  
  8.  
  9. echo $th." - ".$FE." - ".$FS." - ".$adul." - ".$n;
  10. die();
  11. ?>
__________________
Diseño Web - Arisman Web
  #7 (permalink)  
Antiguo 29/11/2014, 18:43
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

al parecer el error es que el campo niños no se esta mandando
  #8 (permalink)  
Antiguo 29/11/2014, 18:46
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

Doble - 2014-11-29 - 2014-11-30 - 1 -

esto es todo lo que imprime poniendo el echo tal cual me lo indicaste
  #9 (permalink)  
Antiguo 29/11/2014, 18:57
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

listo problema corregido solo tuve que modificar el campo en la base de datos ya que lo tenia con ñ y al parecer había una incompatibilidad agradezco tu gran ayuda y al mismo tiempo quisiera saber si es posible me ayudaras con una explicación sobre un serviceweb y quiza algun ejemplo
  #10 (permalink)  
Antiguo 29/11/2014, 18:58
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problemas con inserciones en mysql

Cita:
Iniciado por LuisHerrera Ver Mensaje
listo problema corregido solo tuve que modificar el campo en la base de datos ya que lo tenia con ñ y al parecer había una incompatibilidad agradezco tu gran ayuda y al mismo tiempo quisiera saber si es posible me ayudaras con una explicación sobre un serviceweb y quiza algun ejemplo
De nada y por supuesto, ¿de que se trata??
__________________
Diseño Web - Arisman Web
  #11 (permalink)  
Antiguo 29/11/2014, 19:04
 
Fecha de Ingreso: noviembre-2014
Ubicación: argentina capital
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

ojo que tu aplicacion no tiene ninguna seguridad contra inyecciones...
  #12 (permalink)  
Antiguo 29/11/2014, 19:09
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

En si estoy haciendo una aplicación web muy sencilla que simula una agencia de viajes desde la cual puedes hacer la reservacion del hotel como puede ver en la primera pantalla saco datos para la misma después de ello manda un formulario el cual lleva otros datos como nombre dir, correo etc, una vez ingresado y almacenados los datos en la base de datos de la agencia estos deben de viajar por un service web a la base de datos del hotel donde se le asigna una habitación en caso de que esta este disponible y se guardan los datos en su propia BD en la tabla cliente del hotel;
ESTAS SON MIS BASTES Y MIS TABLAS:
agencia:
create table CLIENTE(
id_Cliente int NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(30) NOT NULL,
apellidos VARCHAR(30) NOT NULL,
correo VARCHAR(30) NOT NULL UNIQUE,
telefono VARCHAR(12) NOT NULL,
estado VARCHAR(30) NOT NULL,
cp INT NOT NULL);

create table Reservaciones(
idReservaciones int PRIMARY KEY AUTO_INCREMENT NOT NULL,
thabitacion VARCHAR(15) NOT NULL,
FechaE VARCHAR(12) NOT NULL,
FechaS VARCHAR(12) NOT NULL,
adultos INT NOT NULL,
ninos INT NOT NULL);



CREATE TABLE promociones (
id int(6) NOT NULL auto_increment,
img varchar(32) NOT NULL ,
name varchar(64) NOT NULL ,
description text NOT NULL,
price double NOT NULL,
PRIMARY KEY (id));

hotel:
create table CLIENTE(
id_Cliente int NOT NULL PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(30) NOT NULL,
apellidos VARCHAR(30) NOT NULL,
correo VARCHAR(30) NOT NULL UNIQUE,
telefono VARCHAR(12) NOT NULL,
estado VARCHAR(30) NOT NULL,
cp INT NOT NULL);
INSERT INTO CLIENTE (nombre,apellidos,correo,telefono,estado,cp) VALUES('Mario','Martinez Tienda','[email protected]','4441234567','San Luis Potosi',78000);

create table Habitaciones(
idHabitacion int PRIMARY KEY AUTO_INCREMENT NOT NULL,
Tipo varchar(10) NOT NULL,
Detalles varchar(100) NOT NULL,
Precio double NOT NULL,
Disponibilidad BOOLEAN);

mi problema es que no se si mi tablas en cada bases son suficientes y como hacer el traslado de los datos mediante el servicio
  #13 (permalink)  
Antiguo 29/11/2014, 19:26
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Problemas con inserciones en mysql

A ver, generalmente la información para ese tipo de aplicaciones se envía usando curl de PHP, no sé si lo conocerás o has trabajado con el alguna vez, yo la verdad es que lo he usado poco o casi nada, de hecho solo lo utilizo para comunicarme con PayPal cuando me hacen un pago en la tienda a través de esta plataforma.

En realidad poco tienen que ver tus bases de datos en todos, además de para tu guardar la información para ti, el caso está en como te vas a comunicar con el servidor del hotel como y cuales son los datos que le vas a enviar o si lo vas a hacer a través de un formulario PHP y ellos ten contestan mandando información a un script... No es tan sencillo como crees o al menos a mi no me parece que sea algo sencillo, más bies es algo avanzadito.

Necesitaría la información que te proporciono el hotel para comunicarte con él a través del web service para poder ayudarte, si no, son palos de ciego.
__________________
Diseño Web - Arisman Web
  #14 (permalink)  
Antiguo 29/11/2014, 19:41
 
Fecha de Ingreso: noviembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problemas con inserciones en mysql

no es para un hotel es si es solo una practica para poder aprender mas acerca de php la base de datos del hotel es simulada y estaria dentro de mi propio servidor solo quiero saber como se usa el manejo de datos hace dias hice un mini service el cual autentica a un usuario mediante 3 pasos los muestro para explicarme mejor:
cliente:
<?php
// Crear el cliente colocando la ruta URL donde se encuentra el servicio
$cliente = new SoapClient(null, array('location' => 'http://localhost/pos/logueo/servicio.php',
'uri' => 'urn:webservices', )); // Llamar al método como si fuera del cliente
echo $cliente->logueo("datox","datoy");
?>
servicio:
<?php

// Incluir la clase que contiene el método a llamar
require_once('logueo.php');
// Crear servidor de SOAP
$server = new SoapServer(null, // No utilizar WSDL
array('uri' => 'urn:webservices') // Se debe especificar el URI
);
// Asignar la clase al servicio
$server->setClass('logueo');
// Atender los llamados al webservice
$server->handle();
?>
proceso
<?php

// Clase que implementa el servicio
class logueo {
// Método a utilizar como servicio
public function logueo($x, $y) {

$nomb="$x";
$password="$y";

$conecta=mysql_connect("localhost","root","root");
mysql_select_db("logueo",$conecta);
$result=mysql_query('SELECT Nombre, Pass FROM usuarios
WHERE Nombre=\''.$nomb.'\' and Pass=\''.$password.'\'')or die(mysql_error());


if($row = mysql_fetch_array($result))
{
return "Has sido logeado correctamente ";
}
else
{
return"DATOS INCORRETOS!!!";
}
}
}
?>

lo que queiro es haer algo parecido a esto solo que en vez de que me compruebe los datos me haga una insercion en la tabla cliente de mi base de datos del hotel espero me puedas ayudar a como hacer este ejemplo

Etiquetas: fecha, mysql, select, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.