PHP - Permitir campos en blanco

   
Vista:

Permitir campos en blanco

Publicado por salva (3 intervenciones) el 09/10/2016 00:20:20
Muy buenas a todos:

Acabo de empezar a programar con php, y tengo una pequeña duda.

He creado un formulario con varios campos para dar de alta clientes y lo almaceno en mysql. Cuando relleno todos los datos del formulario, funciona perfectramente, pero cuando me dejo un campo en blanco ej.telefono o segunda direccion, me salta un error de sintaxis.

Problemas en el selectYou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '1')' at line 2.

Da igual el campo que me deje en blanco. ¿Como puedo hacer para que me permita dejar algun campo por rellenar? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Permitir campos en blanco

Publicado por kip (828 intervenciones) el 09/10/2016 00:49:41
Hola, podrias colocar el codigo de como estas almacenando los datos ?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Permitir campos en blanco

Publicado por salva (3 intervenciones) el 09/10/2016 00:57:01
Hola, te dejo el codigo.

Muchas gracias


mysqli_query($conexion,"insert into qr (codigo, qr_id, tipo, queactivar, curso, lugar, fecha, tutores, telefono, usid) values
('$_REQUEST[codigo]', '$_REQUEST[qr_id]','$_REQUEST[tipo]','$_REQUEST[queactivar]','$_REQUEST[curso]', '$_REQUEST[lugar]',' $_REQUEST[fecha]', '$_REQUEST[tutores]', $_REQUEST[telefono], '$_REQUEST[usid]') ")
or die("Problemas en el select".mysqli_error($conexion));

mysqli_close($conexion);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Permitir campos en blanco

Publicado por kip (828 intervenciones) el 09/10/2016 01:33:20
Intenta colocar entre ' ' o " " los nombres de los indices en la variables $_REQUEST, recuerda que debes colocar entre {} cada variable para que te acepte las comillas y asi no haya conflictos en la query, algo asi:

1
2
3
mysqli_query($conexion,"insert into qr (codigo, qr_id, tipo, queactivar, curso, lugar, fecha, tutores, telefono, usid) values
	('{$_REQUEST["codigo"]}', '{$_REQUEST["qr_id"]}','{$_REQUEST["tipo"]}','{$_REQUEST["queactivar"]}','{$_REQUEST["curso"]}', '{$_REQUEST["lugar"]}','{$_REQUEST["fecha"]}', '{$_REQUEST["tutores"]}', {$_REQUEST["telefono"]}, '{$_REQUEST["usid"]}') ")
or die("Problemas en el select".mysqli_error($conexion));

Si aun sigue el problema, quizas debas definir las variables antes y luego estas colocarlas en la query, asi por cada una:

1
$tipo = $_REQUEST["tipo"];

Luego simplemente la insertas en la query, tal como haces con la variable $_REQUEST, algo asi:

1
2
mysqli_query($conexion,"insert into qr (codigo, qr_id, tipo, queactivar, curso, lugar, fecha, tutores, telefono, usid) values
('$tipo',

Si sigue insistiendo, puedes colocar el codigo HTML de tu formulario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Permitir campos en blanco

Publicado por salva (3 intervenciones) el 09/10/2016 01:48:37
Hola Kip:

Gracias por tu ayuda, he probado las dos opciones que me has comentado, y me sigue pasando lo mismo,,,,,,,,dejando un campo en blanco me sale el error.

al final el php se me ha quedado asi:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
$codigo = $_REQUEST["codigo"];
$qr_id = $_REQUEST["qr_id"];
$tipo = $_REQUEST["tipo"];
$queactivar = $_REQUEST["queactivar"];
$curso = $_REQUEST["curso"];
$lugar = $_REQUEST["lugar"];
$fecha = $_REQUEST["fecha"];
$tutores = $_REQUEST["tutores"];
$telefono = $_REQUEST["telefono"];
$usid = $_REQUEST["usid"];
 
mysqli_query($conexion,"insert into qr (codigo, qr_id, tipo, queactivar, curso, lugar, fecha, tutores, telefono, usid) values
                       ('$codigo', '$qr_id','$tipo','$queactivar','$curso', '$lugar',' $fecha', '$tutores', $telefono, '$usid') ")
  or die("Problemas en el select".mysqli_error($conexion));




y el HTML es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<form action="include/altaqr.php" method="post" class="login">
<div>
<img src="img/logo.jpg" width="202" height="89" />
</div>
<br />
<?
 
include "include/conexiondb.php";
?>
<p><h3><label>QR id</label></h3></p><input type="text" name="qr_id"  value="<? echo $_GET["qrid"]; ?>" ><br>
 
<br />
<h3><label>Tipo de alta:</label></h3>
 
 
 
 
                    <td><input type="radio"  name="tipo" onChange="javascript:showContent()" id="tipo" value="1" <?PHP  if($tipo==1){ echo "checked='checked'"; } ?> >Centro&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="tipo" id="tipo" onChange="javascript:showContent()" value="0" <?PHP  if( $tipo==0){ echo "checked='checked'"; } ?> >Particular &nbsp;</td>
           		</tr>
 
 
 
<div id="content" class="login" style="display:none">
 
 
 
 
<p><h3><label>Tutor</label></h3></p><select name="codigo"><br>
<?php
 
 
$registros=mysqli_query($conexion,"select id,nombre from usuarios") or
  die("Problemas en el select:".mysqli_error($conexion));
while ($reg=mysqli_fetch_array($registros))
{
  echo "<option value=\"$reg[id]\">$reg[nombre]</option>";
}
 
?>
</select>
<br />
 
<p><h3><label>¿Que vas a activar?</label></h3></p><input type="text" name="queactivar" value="Pulsera" ><br>
 
<p><h3><label>Curso o grupo</label></h3></p><input type="text" name="curso" value=""><br>
 
<p><h3><label>Lugar</label></h3></p><input type="text" name="lugar" value="" ><br>
 
<p><h3><label>Fecha</label></h3></p><input type="date" name="fecha" ><br>
 
<p><h3><label>Otros tutores</label></h3></p><input type="text" name="tutores" value="" ><br>
 
<p><h3><label>Telefono</label></h3></p><input type="text" name="telefono" value="" ><br>
 
 
</div>



y de nuevo gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar