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: maiku, akodo

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 »

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: 1533
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.

Re: Bloqueo de campos html

Mensaje por maiku »

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 »

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 »

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 »

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
  • Temas similares
    Respuestas
    Vistas
    Último mensaje