Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ayuda con linea "print HTML"

Estas en el tema de Ayuda con linea "print HTML" en el foro de Programación General en Foros del Web. Tengo este código. El tema es que cada vez que alguien vota (Es una encuesta) abre una ventana que indica que resultado tuvo su voto. ...
  #1 (permalink)  
Antiguo 16/06/2004, 00:37
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Ayuda con linea "print HTML"

Tengo este código. El tema es que cada vez que alguien vota (Es una encuesta) abre una ventana que indica que resultado tuvo su voto. Yo no quiero que aparezca ninguna ventana. Osea no quiero el print HTML. Como hago?

Aca va el código:
#!/usr/bin/perl
##Path to CGI Bin - Might have to change -Ask your ISP for the path to Perl.

$PathLoadVar = "/home/usuario/www/flash.txt";
############End things you need to change###Anything and everything else does not need to
####be changed but it's probabably a good idea.

#Parse the Data from the Flash Movie
&Parse_Form;
$votename = $formdata{'votename'};
$no1 = $formdata{'no1'};
$no2 = $formdata{'no2'};
$no3 = $formdata{'no3'};
$no4 = $formdata{'no4'};
$no5 = $formdata{'no5'};
$no6 = $formdata{'no6'};
$no7 = $formdata{'no7'};
$no8 = $formdata{'no8'};

#### Writes LoadVar.txt for input to Flash######
open (LOG, ">$PathLoadVar") || &ErrorMessage;
#Puts Variables into Form Flash can read#
@Load = ("votename=$votename&no1=$no1&no2=$no2&no3=$no3&no 4=$no4&no5=$no5&no6=$no6&no7=$no7&no8=$no8&vend=ve nd");
print LOG "@Load\n";
close (LOG);
#####End Write LoadVar####

##This prints out the content to the cgi page you see after the variables have been ##submitted. Make sure to change the coloradoboarders.com stuff to your own stuff.

print "Content-type: text/html\n\n";
print <<"HTML code";
<HTML><HEAD>
<TITLE>Votes</TITLE>
</HEAD><BODY>
<P>Gracias por tu voto!</P>
<P><form><input type=button value=\"Close Window\" onclick=\"window.close()\;\"></form></P>
<P>Tu voto fué registrado. Ya podes cerrar esta ventana.</P>
</BODY></HTML>

HTML code

###########Parses Variables #### No Need to Change ######
sub Parse_Form {
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
} elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);

if ($ENV{'QUERY_STRING'}) {
@getpairs =split(/&/, $ENV{'QUERY_STRING'});
push(@pairs,@getpairs);
}
} else {
print "Content-type: text/html\n\n";
print "<P>Use Post or Get";
}

foreach $pair (@pairs) {
($key, $value) = split (/=/, $pair);
$key =~ tr/+/ /;
$key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~s/<!--(.|\n)*-->//g;

if ($formdata{$key}) {
$formdata{$key} .= ", $value";
} else {
$formdata{$key} = $value;
}
}
}
1;


Gracias!!! Muchas
  #2 (permalink)  
Antiguo 16/06/2004, 06:13
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Lo probaste el código???

Mirá yo no lo probé pero por lo qeu veo la salida es esta

print "Content-type: text/html\n\n";
print <<"HTML code";
<HTML><HEAD>
<TITLE>Votes</TITLE>
</HEAD><BODY>
<P>Gracias por tu voto!</P>
<P><form><input type=button value=\"Close Window\" onclick=\"window.close()\;\"></form></P>
<P>Tu voto fué registrado. Ya podes cerrar esta ventana.</P>
</BODY></HTML>

y en ningún momento imprime el resultado de nada, solo dice gracias por su voto y coloca un botón para cerrar la misma ventana...Esta parte de código es HTML común, así que ahí puedes poner lo que quieras simpre cuidando que si colocas un " o un @ o un % o un $ coloques un \delante de el para que el interprete de perl no los procece (esas letras en perl significan otras cosas).

Fijate bien y cualquier cosa decime que lo pruebo

Suerte
__________________
Esteban Quintana

Última edición por monoswim; 16/06/2004 a las 06:16
  #3 (permalink)  
Antiguo 16/06/2004, 08:34
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Probe el código. Abre una ventana que dice "Gracias por..."
Lo importante , que tal vez no dije es que la acción de sumar datos viene desde un archivo de flash. Probe de borrar las lineas print, pero no funcionó.
Como veo que saben bastante, otra opción posible sería que la ventana que abre sea de tipo Javasript, osea con tamaño ya definido, sin menu, etc.
Gracias!!!!
  #4 (permalink)  
Antiguo 16/06/2004, 09:04
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
No entiendo bien cual es el problema...que es lo que quieres hacer?

Cualquier duda que tengas pregúntanos!!!

ha, y bienvenido al Foro !!!!!!!!!!!
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 16/06/2004, 15:43
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias por la bienvenida!!!!
Lo que quiero hacer es que no me aparezca esa ventana que dice "Gracias por tu voto", o en su defecto que la ventana sea tipo Javascript, de tamaño fijo, sin menu, sin barra de herramientas, etc.

Gracias, de nuevo.
  #6 (permalink)  
Antiguo 16/06/2004, 15:48
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Me olvidaba de esto, puede servir de ayuda...
El boton en flash que lanza la encuesta tiene la siguiente acción:
on (release) {
no1 = (no1/1)+(1/1);
getURL("http://www.mi_sitio.com.ar/cgi-bin/vote.pl", "_blank", "POST");
Tal vez la ventana se lanze desde aca con el "_blank".

Re gracias!
Voy a intentar ayudar a otros navegantes. (Por supuesto no con CGI, jaja)
  #7 (permalink)  
Antiguo 17/06/2004, 08:15
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Ahí está el asunto

el _blank hace que ese link se habra en una ventana nueva del navegador, ahora bien, si le quitas eso, el mensaje ese se te aparecerá en la ventana actual en donde está el flash con lo cual sería peor todavía.

Si lo quieres hacer en una ventana de favascript pon en el action

javascript:popup('http://www.mi_sitio.com.ar/cgi-bin/vote.pl')

y en el HTML coloca en el encabezado (entre <head> y </head>)

<script languaje="javascript">
function popup (url) {
window.open(url,'miventana','width=600,height=300' );
}
</script>

De esta manera tu flash llamará a la función popup que habrirá la ventana en una ventanita rediseñada de 600x300 pixeles.

Espero que te sirva
PD: esa es la idea, ayudar y ser ayudado
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 17/06/2004, 08:39
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Muchas gracias!!!
Ahora mismo lo pruebo y te digo como me fué.
Saludos.
  #9 (permalink)  
Antiguo 17/06/2004, 12:05
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
No funcionó. Si bien no abre ninguna ventana el problema está en que no recibe la información.
MonoSwin: Si sabes algo de PHP, lo intentamos pasar a ese lenguaje?
  #10 (permalink)  
Antiguo 17/06/2004, 22:44
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Creo que encontre por que no funciono. Me parece que esta mal el boton de flash. Podes decirme como sería?
  #11 (permalink)  
Antiguo 18/06/2004, 07:21
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Lo acabo de probar y me andubo...Fijate

acá te mando el código fuente de la página html que tiene el flash

<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
<TITLE>index</TITLE>
<script language="JavaScript" type="text/javascript">
function pupo_self_die (){
open('cacaca.htm','','width=300,height=300');
}
</script>
</HEAD>
<BODY bgcolor="#FFFFFF">
<!-- URL's used in the movie-->
<A HREF=javascript:pupo_self_die()></A> <!-- text used in the movie-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="300" HEIGHT="100" id="index" ALIGN="">
<PARAM NAME=movie VALUE="index.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="index.swf" quality=high bgcolor=#FFFFFF WIDTH="300" HEIGHT="100" NAME="index" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
</BODY>
</HTML>


Ahora bien...En el botón del flash tienes que poner en URL:

javascript:pupo_self_die()

Fijate porque lo tengo acá y me anda...Si querés mandame un mail a [email protected] que te lo mando zipeado o por MSN

Suerte
__________________
Esteban Quintana
  #12 (permalink)  
Antiguo 18/06/2004, 07:22
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
ah, y me olvidaba...PHP apesta!!!!!

jaja
__________________
Esteban Quintana
  #13 (permalink)  
Antiguo 19/06/2004, 05:20
 
Fecha de Ingreso: junio-2004
Mensajes: 15
Antigüedad: 19 años, 10 meses
Puntos: 0
Pero... me equivoco o me pasaste un código para abrir una ventana Javascritp.
No es eso lo que quiero.
Gracias igual!!!!!!
  #14 (permalink)  
Antiguo 20/06/2004, 20:47
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
ups, puede ser que te haya mal entendido...

Cualquier cosa ya sabes
__________________
Esteban Quintana
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 21:51.