Foros del Web » Programando para Internet » PHP »

Por que pasa esto?

Estas en el tema de Por que pasa esto? en el foro de PHP en Foros del Web. Hola gente, tengo un problema y no se como solucionarlo, a ver si alguien me puede aclarar un poco. Tengo un formulario que ingresa los ...
  #1 (permalink)  
Antiguo 08/06/2012, 08:27
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Pregunta Por que pasa esto?

Hola gente, tengo un problema y no se como solucionarlo, a ver si alguien me puede aclarar un poco.
Tengo un formulario que ingresa los datos en un tabla de Mysql. En el CSS he puesto el input text-transform: capitalize; para que por ejemplo el el campo "first_name", "last_name" tengan la primera letra en mayúscula al igual que todos los demás input. Pues bien, en el formulario funciona correctamente pero en Mysql solo me guarda el nombre y apellido los demás input no. Alguien sabe por que y como podría solucionarlo?.
He leido que se puede hacer una función en Mysql, la he entendido pero no se como aplicarla.

Desde ya gracias por su tiempo
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #2 (permalink)  
Antiguo 08/06/2012, 08:34
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Por que pasa esto?

seria buenisimo si colocaras el codigo completo para saber a que te refieres cuando no guarda los demas
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 08/06/2012, 08:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Por que pasa esto?

1. Las reglas de CSS sólo afectan la apariencia de lo que se ve, no transforma nada realmente.

Esto quiere decir que aunque uses text-transform:uppercase para hacer el texto en mayúsculas mantiene el valor intacto dentro de los values, aunque en apariencia se vea distinto.

2. Eso de que MySQL no te guarda está mal dicho, es tu script PHP el que no está recuperando correctamente los valores, eso es distinto.

Por favor muestra tu formulario, y muestra también como recibes los valores así como ejecutas la consulta.

3. Lo de la función de MySQL es bastante factible, te invito a leer la documentación.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/06/2012, 09:03
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: Por que pasa esto?

Muestra algo de código para poder ayudarte... porque así a ciegas.. está cañón

saludos
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #5 (permalink)  
Antiguo 08/06/2012, 09:28
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Por que pasa esto?

Muy bien, no habían pensado lo que dice pateketrueke con respecto al css, pensaba que php recuperaba la información tal cual figuraba en el formulario.

el formulario es este:

Código HTML:
Ver original
  1. <section class="seccion">
  2.        <article>
  3.            <h2 class="shadows">Solicitud de Presupuesto</h2>
  4.       <!--contact form -->
  5.   <form name="contactformfree" method="post" action="insertardatos.php" onSubmit="return validate.check(this)">
  6.     <table width="400px" class="cffree">
  7.     <tr>
  8.      <td colspan="2">
  9.       <p style="text-align:center">Campos marcados con <span class="required_star"> * </span> son OBLIGATORIOS.</p>
  10.       <p style="text-align:center"><span class="required_star">Nuestro sistema elimina automaticamentes todas las solicitudes que no contengan medios de comunicación como, Email o Teléfono ya que sin estos no le podemos enviar el estimado.</span></p>
  11.      </td>
  12.     </tr>
  13.     <tr>
  14.      <td valign="top" class="cffree_td">
  15.       <label for="first_name" class="required">Nombre<span class="required_star"> * </span></label>
  16.      </td>
  17.      <td valign="top" class="cffree_td">
  18.       <input type="text" name="first_name" id="first_name" value="" size="30" maxlength="50" style="width:250px" required/></td>
  19.      </td>
  20.     </tr>
  21.     <tr>
  22.      <td valign="top" class="cffree_td">
  23.       <label for="last_name" class="required">Apellido<span class="required_star"> * </span></label>
  24.      </td>
  25.      <td valign="top" class="cffree_td">
  26.       <input type="text" name="last_name" id="last_name" value="" size="30" maxlength="50" style="width:250px" required/></td>
  27.      </td>
  28.     </tr>
  29.     <tr>
  30.      <td valign="top" class="cffree_td">
  31.       <label for="phone" class="required">Teléfono<span class="required_star"> * </span></label>
  32.      </td>
  33.      <td valign="top" class="cffree_td">
  34.       <input type="text" name="phone" id="phone" value="" size="30" maxlength="50" style="width:250px" required/></td>
  35.      </td>
  36.     </tr>
  37.     <tr>
  38.      <td valign="top" class="cffree_td">
  39.       <label for="email" class="required">Email<span class="required_star"> * </span></label>
  40.      </td>
  41.      <td valign="top" class="cffree_td">
  42.       <input type="text" name="email" id="email" value="" size="30" maxlength="50" style="width:250px" required/></td>
  43.      </td>
  44.     </tr>
  45.     <tr>
  46.      <td colspan="2">
  47.       <p style="text-align:center"><span class="required_star"> Información de origen  </span> </p>
  48.      </td>
  49.     </tr>
  50.     <tr>
  51.      <td valign="top" class="cffree_td">
  52.       <label for="pickup_city" >Ciudad</label>
  53.      </td>
  54.      <td valign="top" class="cffree_td">
  55.       <input type="text" name="pickup_city" id="pickup_city" value="" size="30" maxlength="50" style="width:250px" /></td>
  56.      </td>
  57.     </tr>
  58.     <tr>
  59.      <td valign="top" class="cffree_td">
  60.       <label for="zip_code_pickup" >Codigo Postal</label>
  61.      </td>
  62.      <td valign="top" class="cffree_td">
  63.       <input type="text" name="zip_code_pickup" id="zip_code_pickup" value="" size="10" style="width:250px" /></td>
  64.      </td>
  65.     </tr>
  66.     <tr>
  67.      <td valign="top" class="cffree_td">
  68.       <label for="pickup_country_id" class="required">País</label>
  69.      </td>
  70.      <td valign="top" class="cffree_td">
  71.       <select name="pickup_country_id" id="pickup_country_id"></select></td>
  72.      </td>
  73.     </tr>
  74.     <tr>
  75.      <td valign="top" class="cffree_td">
  76.       <label for="pickup_state_code">Estado</label>
  77.      </td>                         
  78.      <td>
  79.       <select  name="pickup_state_code" id="pickup_state_code"></select>
  80.      </td>
  81.       <script type="text/javascript"><!--
  82.       drops.fillSelect({
  83.       id: "pickup_country_id",
  84.       code: "pais_pickup",
  85.       lang: "es",
  86.       allowVoid: true,
  87.       voidMessage: "Selecciona Pais",
  88.       onChange: function() {
  89.       drops.fillSelect({
  90.       id:"pickup_state_code",
  91.       code: "estados_pickup",
  92.       lang: "es",
  93.       parent: document.getElementById('pickup_country_id').value,
  94.       allowVoid: true,
  95.       voidMessage: "Selecciona Estado"
  96.       });
  97.       }
  98.       });
  99.       </script>
  100.     </tr>
  101.          ........

el PHP que inserta los datos es este:

Código PHP:
Ver original
  1. <?php
  2. //1. Crear conexión a la Base de Datos
  3. $conexion = mysql_connect("localhost","9999","99999");
  4. if (!$conexion) {
  5. die("Fallo la conexión a la Base de Datos: " . mysql_error());
  6. }
  7. //2. Seleccionar la Base de Datos a utilizar
  8. $seleccionar_bd = mysql_select_db("99999", $conexion);
  9. if (!$seleccionar_bd) {
  10. die("Fallo la selección de la Base de Datos: " . mysql_error());
  11. }
  12. //3. Tomar los campos provenientes del Formulario
  13. $first_name = $_POST['first_name'];
  14. $last_name = $_POST['last_name'];
  15. $phone = $_POST['phone'];
  16. $email = $_POST['email'];
  17. $pickup_city = $_POST['pickup_city'];
  18. $zip_code_pickup = $_POST['zip_code_pickup'];
  19. $pickup_state_code = $_POST['pickup_state_code'];
  20. $pickup_country_id = $_POST['pickup_country_id'];
  21. $dropoff_city = $_POST['dropoff_city'];
  22. $zip_code_dropoff = $_POST['zip_code_dropoff'];
  23. $dropoff_state_code = $_POST['dropoff_state_code'];
  24. $dropoff_country_id = $_POST['dropoff_country_id'];
  25. $estimated_ship_date = $_POST['estimated_ship_date'];
  26. $vehicle_runs = $_POST['vehicle_runs'];
  27. $year1 = $_POST['year1'];
  28. $make1 = $_POST['make1'];
  29. $model1 = $_POST['model1'];
  30. $vehicle_type_id1 = $_POST['vehicle_type_id1'];
  31. $vehicle_type_other1 = $_POST['vehicle_type_other1'];
  32. $estimado = $_POST['estimado'];
  33. $fecha_registro = date('Y/n/d');
  34.  
  35. //4. Insertar campos en la Base de Datos
  36. $insertar = mysql_query("INSERT INTO datos (first_name, last_name, phone, email, pickup_city, zip_code_pickup, pickup_state_code, pickup_country_id, dropoff_city, zip_code_dropoff, dropoff_state_code, dropoff_country_id, estimated_ship_date, vehicle_runs, year1, make1, model1, vehicle_type_id1, vehicle_type_other1, estimado, fecha_registro)
  37. VALUES ('{$first_name}', '{$last_name}', '{$phone}', '{$email}', '{$pickup_city}', '{$zip_code_pickup}', '{$pickup_state_code}', '{$pickup_country_id}', '{$dropoff_city}', '{$zip_code_dropoff}', '{$dropoff_state_code}', '{$dropoff_country_id}', '{$estimated_ship_date}', '{$vehicle_runs}', '{$year1}', '{$make1}', '{$model1}', '{$vehicle_type_id1}', '{$vehicle_type_other1}', '{$estimado}', '{$fecha_registro}')", $conexion);
  38. if (!$insertar) {
  39. die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
  40. }
  41. //4. Cerrar conexión a la Base de Datos
  42. mysql_close($conexion);
  43.  
  44. echo '
  45.  
  46. <html>
  47.  <head>
  48.    <meta http-equiv="REFRESH" content="0;url=enviamail.php">
  49.  </head>
  50. </html>
  51.  
  52. '
  53.  
  54. ?>

muchas gracias por el tiempo prestado
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #6 (permalink)  
Antiguo 08/06/2012, 09:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Por que pasa esto?

Cuando recibas el formulario has esto:
Código PHP:
print_r($_POST); 
Y por favor muestra lo que te salga.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 08/06/2012, 10:02
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 10 meses
Puntos: 32
Respuesta: Por que pasa esto?

Si el HTML que nos pasaste es el correcto y desde Javascript no generas mas campos dinamicamente,
te estan faltando campos y por eso puden estar vacios.
Código HTML:
Ver original
  1. <input type="text" name="first_name" id="first_name" value="" size="30" maxlength="50" style="width:250px" required/>
  2. <input type="text" name="last_name" id="last_name" value="" size="30" maxlength="50" style="width:250px" required/>
  3. <input type="text" name="phone" id="phone" value="" size="30" maxlength="50" style="width:250px" required/>
  4. <input type="text" name="email" id="email" value="" size="30" maxlength="50" style="width:250px" required/>
  5. <input type="text" name="pickup_city" id="pickup_city" value="" size="30" maxlength="50" style="width:250px" />
  6. <input type="text" name="zip_code_pickup" id="zip_code_pickup" value="" size="10" style="width:250px" />
  7. <select name="pickup_country_id" id="pickup_country_id"></select>
  8. <select *name="pickup_state_code" id="pickup_state_code"></select>
Aca hay 7 campos y en el script php esperas 21.
__________________
http://www.latinium.com.ar/
  #8 (permalink)  
Antiguo 08/06/2012, 10:11
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Por que pasa esto?

hola pateketrueke, esto es lo que me arroja

Array ( [first_name] => Diego [last_name] => Lagos-Plaza [phone] => 3059763068 [email] => [email protected] [pickup_city] => Miami [zip_code_pickup] => 33176 [pickup_country_id] => US [pickup_state_code] => Florida [dropoff_city] => Miami [zip_code_dropoff] => 33176 [dropoff_country_id] => US [dropoff_state_code] => Florida [estimated_ship_date] => 2012/06/21 [vehicle_runs] => Si [year1] => 1998 [make1] => honda [model1] => civic [vehicle_type_id1] => Coupe [vehicle_type_other1] => prueba [remLen] => 119 [estimado] => 0 )

aquí por ejemplo make1 y model1 no lo toma en mayúsculas, sin embargo el nombre y los demás datos si.

Gracias
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #9 (permalink)  
Antiguo 08/06/2012, 10:18
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Por que pasa esto?

perdona elgoncho99,

No te entendí bien eso, el unico javascript que tengo es uno que verifica que 4 campos (nombre, apellido, email y telefono) sean obligatorios.

con respecto al html, no esta completo ya que el formulario es mas extenso y para comprender como esta programado pensé que con esa parte seria suficiente, pero si es necesario puedo ponerlo entero.

Gracias por tu tiempo
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #10 (permalink)  
Antiguo 08/06/2012, 10:21
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: Por que pasa esto?

ponlo completo, quiza en los campos siguientes está el error...
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #11 (permalink)  
Antiguo 08/06/2012, 10:24
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 10 meses
Puntos: 32
Respuesta: Por que pasa esto?

Aca estan los datos que nos mostraste mas amigablemente leibles.

Código PHP:
Ver original
  1.     [first_name] => Diego
  2.     [last_name] => Lagos-Plaza
  3.     [phone] => 3059763068
  4.     [email] => desoler@gmail.com
  5.     [pickup_city] => Miami
  6.     [zip_code_pickup] => 33176
  7.     [pickup_country_id] => US
  8.     [pickup_state_code] => Florida
  9.     [dropoff_city] => Miami
  10.     [zip_code_dropoff] => 33176
  11.     [dropoff_country_id] => US
  12.     [dropoff_state_code] => Florida
  13.     [estimated_ship_date] => 2012/06/21
  14.     [vehicle_runs] => Si
  15.     [year1] => 1998
  16.     [make1] => honda
  17.     [model1] => civic
  18.     [vehicle_type_id1] => Coupe
  19.     [vehicle_type_other1] => prueba
  20.     [remLen] => 119
  21.     [estimado] => 0
  22. )


El problema tuyo en si, es que marca y modelo no estan en mayuscula la primera letra?

Lo demas te llega en mayuscula presumo porque el usuario lo completa en mayuscula, si lo queres pasar a mayuscula y asegurarte siempre.
hace la conversion en MySQL con lo siguiente.

Código MySQL:
Ver original
  1. CONCAT( UPPER( SUBSTRING("hELLO",1,1) ) , LOWER( SUBSTRING("hELLO",2) ) )

Tu sentencia quedaria algo similar a esto (ojo no la probe, podria tener errores de sintaxis)

Código PHP:
Ver original
  1. $query = "INSERT INTO datos (
  2.                 first_name,
  3.                 last_name,
  4.                 phone,
  5.                 email,
  6.                 pickup_city,
  7.                 zip_code_pickup,
  8.                 pickup_state_code,
  9.                 pickup_country_id,
  10.                 dropoff_city,
  11.                 zip_code_dropoff,
  12.                 dropoff_state_code,
  13.                 dropoff_country_id,
  14.                 estimated_ship_date,
  15.                 vehicle_runs,
  16.                 year1,
  17.                 make1,
  18.                 model1,
  19.                 vehicle_type_id1,
  20.                 vehicle_type_other1,
  21.                 estimado,
  22.                 fecha_registro
  23.             ) VALUES (
  24.                 '".$first_name."',
  25.                 '".$last_name."',
  26.                 '".$phone."',
  27.                 '".$email."',
  28.                 '".$pickup_city."',
  29.                 '".$zip_code_pickup."',
  30.                 '".$pickup_state_code."',
  31.                 '".$pickup_country_id."',
  32.                 '".$dropoff_city."',
  33.                 '".$zip_code_dropoff."',
  34.                 '".$dropoff_state_code."',
  35.                 '".$dropoff_country_id."',
  36.                 '".$estimated_ship_date."',
  37.                 '".$vehicle_runs."',
  38.                 '".$year1."',
  39.                 CONCAT( UPPER( SUBSTRING('".$make1."',1,1) ) , LOWER( SUBSTRING('".$make1."',2) ) ),
  40.                 CONCAT( UPPER( SUBSTRING('".$model1."',1,1) ) , LOWER( SUBSTRING('".$model1."', 2) ) ),
  41.                 '".$vehicle_type_id1."',
  42.                 '".$vehicle_type_other1."',
  43.                 '".$estimado."',
  44.                 '".$fecha_registro."')";


Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #12 (permalink)  
Antiguo 08/06/2012, 10:39
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Por que pasa esto?

Hola elgoncho99,

Excelente, eso es lo que necesitaba, solucionada, se lo apliqué a los campos que necesitaba en mayúsculas y de 10.

Muchas gracias.
Saludos
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #13 (permalink)  
Antiguo 08/06/2012, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Por que pasa esto?

Es más sencillo yo creo ocupar ucfirst() desde PHP a hacerlo desde MySQL...

Etiquetas: mysql
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 18:08.