Foros del Web » Programando para Internet » PHP »

Warning_hidden_field

Estas en el tema de Warning_hidden_field en el foro de PHP en Foros del Web. Pues eso, estoy utilizando un warning_hidden field pero no consigo hacer para que no me aparezca en la pagína web, me aparece tal cual estoa ...
  #1 (permalink)  
Antiguo 28/03/2011, 12:41
 
Fecha de Ingreso: octubre-2009
Mensajes: 154
Antigüedad: 15 años, 1 mes
Puntos: 0
Warning_hidden_field

Pues eso, estoy utilizando un warning_hidden field pero no consigo hacer para que no me aparezca en la pagína web, me aparece tal cual estoa al lado de los botones:

{WARNING_HIDDEN_FIELD}

Y es un pco feo no? :)

La idea es que tengo una función que hace que si metes un nombe y un apellido dando al boton "insert" que ya están en la BD avisa con un mensaje pero si tu kieres meterlo en la BD de todas maneras le das otra vez al "insert " y lo mete:
__________________________________________________ ________
function checkForExistingFirstnameAndLastname (&$tpl,$firstname,$lastname)
{

if (isset($_POST['warning'])==true)
{
return(0);
}
//if warning exists ignore the following lines

global $MySQL;

$sql = "select firstname from customers where firstname = '$firstname' AND surname = '$lastname'";

$result = send_sql($MySQL->db1, $sql);


if (!$result)
{
die ("Database Error");
}

if ((mysql_num_rows($result) != 0))

{
$tpl->assign(FIRST, '<FONT SIZE="2" COLOR="red">** FIRSTNAME AND LAST NAME ALREADY EXITS,DO YOU WANT TO CONTINUE?**</FONT>');


$tpl->assign(WARNING_HIDDEN_FIELD, '<INPUT TYPE="HIDDEN" name="warning" value="1">');
return (1);
}
else
{
$tpl->assign(WARNING_HIDDEN_FIELD,"");
}

return(0);
}

__________________________________________________ _________

Trababjo con plantillas y esto es lo que tengo en ella:

__________________________________________________ _______
.
...
........
.............
<tr>
<td><B>Date (YYYY-MM-DD)</B>
</td>
<td><input type=text name=date_html size=12 maxlength=10 value={DATE} style="width:165px">
</td>
</tr>
<tr>
<td width="30%"><B>Comment</B>
</td>
<td width="70%"><font color=white color=white face="Times New Roman, Times, serif">
<textarea name = "comment_html" rows = "5" cols = "40" style="width:250px"></textarea>
</font>
</td>
</tr>
</table>
<br>
{BUTTONS}

{WARNING_HIDDEN_FIELD}

</form>
</body>
</html>

__________________________________________________ ________


Y lo tengo asi en el archivo *.php y no sé como ponerlo:

__________________________________________________ ________



{
$tpl->assign(NAME, "<FONT COLOR=\"red\"> Error </FONT>");
}


$tpl->assign(BUTTONS, '<input class="buttons" type = "submit" value="Insert" color=blue name="Insert"> <input class="buttons" type="reset" value="Reset" name="reset">');
$tpl->assign(WARNING_HIDDEN_FIELD, '<input class="buttons" type = "hidden">');
//display the template
$tpl->parse(result, "main");
$tpl->FastPrint(result);




Así como lo tengo $tpl->assign(WARNING_HIDDEN_FIELD, '<input class="buttons" type = "hidden">'); no me aparece pero no me funciona.
Si lo comento //$tpl->assign(WARNING_HIDDEN_FIELD, '<input class="buttons" type = "hidden">'); me aparece en la página pero si que me funciona.
No se que hacer..
  #2 (permalink)  
Antiguo 28/03/2011, 13:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Warning_hidden_field

La idea del input type="hidden" es precisamente que no aparezca visualmente, pero si se toma en cuenta al procesar el formulario y eso es lo que obtienes al reemplazar la etiqueta de la plantilla por el campo oculto.

Ahora, no le veo mucho sentido a incluir un campo oculto sin atributos name ni value, entonces, cual es el objetivo de crearlo?... tambien la clase CSS me parece que esta de mas, porque se supone que el usuario no lo vera.

Creo que debes cambiar un poco tu logica para realizar las validaciones del lado del servidor, sin depender de que exista ese campo y, necesariamente, analizar y validar cada campo para que cumpla con los requerimientos de tu proyecto.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 28/03/2011, 13:20
 
Fecha de Ingreso: octubre-2009
Mensajes: 154
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Warning_hidden_field

La idea es que si meto un nombre y apellido que ya están en la BD me dé la opción de meterlo de todas maneras aunque en un principio me avise de que ya están en la BD. Es la única manera que conozco de hacerlo.
Con la función que he hecho te da la opción, te muestra un mensaje y lueg si das otra vez a Insert te lo inserta.
No hay ninguna manera de hacer que no me aparezca ese texo en la plantilla?
  #4 (permalink)  
Antiguo 28/03/2011, 21:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Warning_hidden_field

En vez de un campo oculto, utiliza un checkbox, en el .tpl coloca la etiqueta WARNING_HIDDEN_FIELD antes de los botones y el reemplazo seria:

Código PHP:
Ver original
  1. $tpl->assign(WARNING_HIDDEN_FIELD, '<input type="checkbox" name="duplicado" value="1" /> El registro ya existe, marca la casilla para insertarlo nuevamente.');
  2.  
  3. // Y cuando procesas el formulario y el registro se va a duplicar verificas si se marco la casilla:
  4. if(isset($_POST['duplicado']) && $_POST['duplicado'] == 1) {
  5.     // Entonces se puede insertar sin problema
  6. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: Ninguno
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 12:08.