Bloqueo de campos html [SOLUCIONADO]

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Bloqueo de campos html [SOLUCIONADO]

Mensaje por greer » Mar Nov 15, 2011 9:50 pm

Hola compañeros.

tengo una nueva duda, les explico...

tengo un formulario basico en html y php, pero en el, tengo un boton para imprimir un documento, mi idea es una vez se de un solo click en ese boton, mas nunca se pueda volver a dar click en el... se podra hacer eso ?

que al darle click una vez este quede deshabilitado para siempre y para todos los usuarios...

Sera posible eso ?

Saludos.
Última edición por greer el Jue Nov 17, 2011 1:08 am, editado 1 vez en total.
http://greermurray.com
Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1521
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.
Contactar:

Re: Bloqueo de campos html

Mensaje por maiku » Mar Nov 15, 2011 11:17 pm

solo durante la sesión o permanentemente???

Si es durante la sesión, puedes hacerlo con javascript.

Si es permanentemente, puede que te sirva esta idea: anteriormente vi un sistema luego de imprimir un reporte, le agregaba un "estado" al reporte como "original" si era primera vez, "copia" si se repetía, "sin imprimir" si no se había seleccionado imprimir desde el botón correcto. El punto es que eso lo registraba en la base de datos y a la hora de imprimir la consultaba, algo similar se me ocurre en este caso.
Grüße...
Maiku

Full linux alchemist!!!
MetTxin
Forista Medio
Forista Medio
Mensajes: 332
Registrado: Mié Abr 27, 2011 11:32 am

Re: Bloqueo de campos html

Mensaje por MetTxin » Mié Nov 16, 2011 12:14 am

Quizás te pueda servir algo así, (es un poco en la idea de maiku, de lo del estado). Tienes que crear un fichero llamado estado en la ruta del script.

Código: Seleccionar todo

<?php
if (isset($_GET["impr"])){
    $file="estado";
    if (file_exists($file)) {
        // incluir código para la impresión del documento
        // -------aquí, por ejemplo----------------------
        $file=fopen("estado","w+");
        fwrite($file, 1);
        fclose ($file);
    }
}
function estado (){
    // recupero estado
    $estado = "0";
    $file="estado";
    if (file_exists($file)) {
        $file=fopen("estado","r");
        while(!feof($file)){
            $estado = fgets($file,4096); 
        }
    }
    if ($estado == 1){
        $disabled = ' disabled="disabled "';
    }
    else {
        $disabled = "";
    }
    return $disabled;
}

function devolver_html ($estado) {
	return '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>prueba</title>
</head>
<body>

<form action="prueba.php" method="get">
    <p>
    <button name="impr" ' . $estado . 'type="submit" value="1">Imprimir</button>
    </p>
</form>
</body>
</html>
';
}
$io = estado();
$html = devolver_html($io);
echo $html;
?>


Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Bloqueo de campos html

Mensaje por akodo » Mié Nov 16, 2011 11:24 pm

Mucho más sencillo: supongo que tendrás una tabla con información sobre documentos (localización, fecha de subida, etc), simplemente añade un campo que indique si el documento ha sido impreso o no.
A la hora de generar el html para mostrar el documento, compruebas el valor de dicho campo. Si ya ha sido impreso simplemente no generas el botón, y muestras dicha información.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Bloqueo de campos html

Mensaje por greer » Jue Nov 17, 2011 1:07 am

Perfecto era precisamente lo que queria hacer! wao ustedes son la maximo!

Gracias a maiku, MetTxin y a akodo por la ayuda siempre.

tome la idea de tosos y esto fue lo que hice:

Código: Seleccionar todo

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<?php

$net = mysql_connect('localhost','root','greer') or die(mysql_error());
mysql_select_db('impresora',$net);

if(isset($_POST["impr"])){

mysql_query("INSERT INTO registros (imprime) VALUES ($variable);"); 

mysql_close(); 

}

$query = "
	SELECT
		imprime
	FROM
		registros
	WHERE
		imprime = '$variable'
";

$resultado = mysql_query($query,$net) or die(mysql_error());
while($BD = mysql_fetch_assoc($resultado)){ //BUCLE
	$dato = $BD['imprime'];
}

if(@$dato == '$variable'){
	$disabled = ' disabled="disabled "';
}
else{
	$disabled = "";
}

?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>prueba</title>
</head>
<body>

<form action="" method="post">
    <p>
	<button name="impr" <?php echo $disabled; ?> type="submit" value="1">Imprimir</button>
    </p>
</form>
</body>
</html>
Saludos
http://greermurray.com
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje