Autor
|
Tema: Error con formulario (Leído 8,702 veces)
|
araque615
Desconectado
Mensajes: 15
|
Buenas, soy un user nuevo, y necesito vuestra ayuda ya que al foro que voy está caído, como cosa rara, tengo un código el cual quiero que si dejan un campo vacío salga error, pero lo pruebo y en vez de salir el mensaje, no sale nada, acá el código. <?php $html = true; require_once '../includes/core.php'; $function->session("yes"); $function->hk_access(); $page = "2"; $page_name = "Ajustes"; $tinymce = true; require_once 'templates/navi.php'; $newsid = $function->filter($_GET['username']); if($_GET['do'] == "created"){ $name = $function->filter($_POST['username']); $credits = $function->filternews($_POST['credits']); $vip_points = $function->filternews($_POST['vip_points']); $motto = $function->filter($_POST['motto']); $staff_pin = $function->filternews($_POST['staff_pin']); $referidos = $function->filternews($_POST['referidos']); $real_name = $function->filter($_POST['real_name']); $mail = $function->filter($_POST['mail']); //CHECKS $name_check = $function->name_check($name); $credits_check = $function->credits_check($credits); $vip_points_check = $function->vip_points_check($vip_points); $motto_check = $function->motto_check($motto); $staff_pin_check = $function->staff_pin_check($staff_pin); $referidos_check = $function->referidos_check($referidos); $real_name_check = $function->real_name_check($real_name); $mail_check = $function->mail_check($mail); if(empty($name) || empty($credits) || empty($vip_points) || empty($motto) || empty($staff_pin) || empty($referidos) || empty($real_name) || empty($mail)){ $message = "No has rellenado todos los campos."; } //fin de checks mysql_query("UPDATE users SET credits = '{$credits}', vip_points = '{$vip_points}', motto = '{$motto}', staff_pin = '{$staff_pin}', referidos = '{$referidos}', real_name = '{$real_name}', mail = '{$mail}' WHERE username = '{$name}'"); $message = "<div id=\"good\">Cambios efectuados correctamente <img src=\"". PATH_I ."/manage/images/check.gif\"></div> "; $_SESSION['RESULT_HK'] = $message; } ?>
<div class="box_title blue">Creando una noticia </div> <form action="<?php echo PATH_HK; ?>/credits.php?do=created" method="post" name="theAdminForm" id="theAdminForm"> <table width='100%' cellspacing='0' cellpadding='5' align='center' border='0'> <td class='tablerow1' width='40%' valign='middle'><b>Usuario </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='username' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Creditos </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='credits' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Puntos </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='vip_points' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Misión </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='motto' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Pin de seguridad </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='staff_pin' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Referidos </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='referidos' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Twitter </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='real_name' size='30' class='textinput'></td> <td class='tablerow1' width='40%' valign='middle'><b>Email </b><div class='graytext'></div></td> <td class='tablerow2' width='60%' valign='middle'><input type='text' name='mail' size='30' class='textinput'></td> </tr><tr><td align="center" class="tablesubheader" colspan="2"><input type="submit" name="submit" value="Guardar" class="realbutton" accesskey="s"></td></tr> <div id="footer"><?php echo $info['footer']; ?></div>
Mod: Temas sobre PHP van al subforo de PHP.
|
|
« Última modificación: 12 Septiembre 2015, 13:03 pm por #!drvy »
|
En línea
|
|
|
|
Thryks
Desconectado
Mensajes: 112
|
Porqué no pruebas con un if y isset? Algo así: if (!isset($_GET['$idarecoger']) || empty($_GET['$idarecoger'])) { //Codigo de error } else { //Código a ejecutar en caso de que exista }
Pruébalo y nos cuentas. Saludos
|
|
« Última modificación: 12 Septiembre 2015, 12:59 pm por #!drvy »
|
En línea
|
Futuro Sysadmin
|
|
|
araque615
Desconectado
Mensajes: 15
|
No lo entiendo, podrías aplicarlo con el código que he dado? por fa, más o menos me doy una idea, pero no logro ver...
|
|
« Última modificación: 12 Septiembre 2015, 12:59 pm por #!drvy »
|
En línea
|
|
|
|
Thryks
Desconectado
Mensajes: 112
|
Claro, perdona //CHECKS $name_check = $function->name_check($name); $credits_check = $function->credits_check($credits); $vip_points_check = $function->vip_points_check($vip_points); $motto_check = $function->motto_check($motto); $staff_pin_check = $function->staff_pin_check($staff_pin); $referidos_check = $function->referidos_check($referidos); $real_name_check = $function->real_name_check($real_name); $mail_check = $function->mail_check($mail); //------Esto de abajo-------- if((!isset($name) || empty($name)) || (!isset($credits) || empty($credits))){ $message = "No has rellenado todos los campos."; } //---------------- Y así con los demás campos------------- //fin de checks
PD: Lo he editado que se me abían olvidado los simbolos de distinto
|
|
« Última modificación: 12 Septiembre 2015, 13:01 pm por #!drvy »
|
En línea
|
Futuro Sysadmin
|
|
|
araque615
Desconectado
Mensajes: 15
|
Sigue igual, podríamos hablar por skype? censurado ese es mi skype
Mod: Prohibido dar datos personales como correo o cuentas de mensajería.
|
|
« Última modificación: 12 Septiembre 2015, 13:00 pm por #!drvy »
|
En línea
|
|
|
|
Thryks
Desconectado
Mensajes: 112
|
Perdon, con el sueño no lograba encontrar el fallo, yo creo que es una tonteria, es que en el empty le falta unos parentesis más, reemplaza el codigo así: if((empty($name)) || (empty($credits)) || (empty($vip_points)) || (empty($motto)) || (empty($staff_pin)) || (empty($referidos)) || (empty($real_name)) || (empty($mail))){ $message = "No has rellenado todos los campos."; }
Pruebalo y nos cuentas. PD: Si no funciona así incluso intenta en vez de comprobar las variables definidas comprobar el get desde el form es decir algo así: if((empty($_POST['idcampoform'])){ echo 'Campo vacio'; } else { echo 'Codigo a ejecutar'; }
|
|
« Última modificación: 12 Septiembre 2015, 13:01 pm por #!drvy »
|
En línea
|
Futuro Sysadmin
|
|
|
araque615
Desconectado
Mensajes: 15
|
Ninguna de las dos
|
|
« Última modificación: 12 Septiembre 2015, 13:01 pm por #!drvy »
|
En línea
|
|
|
|
Thryks
Desconectado
Mensajes: 112
|
Ninguna de las dos
Prueba a aislar el codigo que te he dado y usarlo con otro form y otras variables aver si el error está en el codigo que te he dado o en lo demás porque sinceramente yo lo he probado en mi equipo con un formulario mio y funciona perfectamente, es muy raro, sino tienes la opción de meterlo en un ide y que te diga que re falla y simo pues espera a que algun profesional del foro te.conteste porque yo x lo que veo estoy bastante verde en esto.
|
|
|
En línea
|
Futuro Sysadmin
|
|
|
araque615
Desconectado
Mensajes: 15
|
Podrías pasarme el form que tu usas?
|
|
« Última modificación: 12 Septiembre 2015, 13:01 pm por #!drvy »
|
En línea
|
|
|
|
0roch1
Desconectado
Mensajes: 123
|
Porqué no pruebas con un if y isset? Algo así: if (!isset($_GET['$idarecoger']) || empty($_GET['$idarecoger'])) { //Codigo de error } else { //Código a ejecutar en caso de que exista }
No puedes hacer $_GET['$idarecoger'] en todo caso tendría que ser así a menos de que el campo en realidad tenga el caracter $, creo que te haz confundido y haz querido decir $_GET['idarecoger']. Perdon, con el sueño no lograba encontrar el fallo, yo creo que es una tonteria, es que en el empty le falta unos parentesis más, reemplaza el codigo así: if((empty($name)) || (empty($credits)) || (empty($vip_points)) || (empty($motto)) || (empty($staff_pin)) || (empty($referidos)) || (empty($real_name)) || (empty($mail))){ $message = "No has rellenado todos los campos."; }
Pruebalo y nos cuentas. PD: Si no funciona así incluso intenta en vez de comprobar las variables definidas comprobar el get desde el form es decir algo así: if((empty($_POST['idcampoform'])){ echo 'Campo vacio'; } else { echo 'Codigo a ejecutar'; }
Creo que lo estás confundiendo, en tu primer ejemplo usaste GET y en este último usas POST. Intenta con lo siguiente. index.htm <!doctype html> <form id="formulario" name="formulario" action="guardar.php" method="GET" > <input type="text" name="input1" id="input1"/>
guardar.php <?php if(isset($_GET['input1'])){ //isset — Determina si una variable está definida y no es NULL echo "<br>La variable \$_GET['input1'] esta definida"; if(!empty($_GET['input1'])) { //empty — Determina si una variable está vacía echo "<br>La variable \$_GET['input1'] no esta vacia"; }else { echo "<br>La variable \$_GET['input1'] esta vacia"; } }else { echo "<br>La variable \$_GET['input1'] no esta definida"; } ?>
|
|
« Última modificación: 12 Septiembre 2015, 13:02 pm por #!drvy »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
error en mandar un formulario
PHP
|
kosis157
|
9
|
3,191
|
6 Abril 2007, 01:27 am
por Thelord
|
|
|
error al validar formulario javascript
Desarrollo Web
|
Azielito
|
3
|
4,786
|
29 Abril 2010, 17:33 pm
por -Ramc-
|
|
|
Ayuda con error de sintaxis en formulario PHP
PHP
|
oscarj24
|
2
|
2,963
|
8 Junio 2010, 20:05 pm
por oscarj24
|
|
|
Error formulario de inscripcion
PHP
|
;c1v!c
|
0
|
2,620
|
15 Diciembre 2011, 20:46 pm
por ;c1v!c
|
|
|
¿Error formulario html o yo ciego?
Desarrollo Web
|
IWKY
|
4
|
2,682
|
11 Mayo 2012, 18:16 pm
por Spider-Net
|
|