hola nececito ayuda para logran entender como funciona esta encuesta...

Código: Seleccionar todo

</td>
  </tr></tbody>
  
  <tbody><tr>
    <td colspan="3" align="center" height="5">&nbsp;</td>
  </tr></tbody>
  
  <tbody><tr>
    <td colspan="3" align="center">
		<div id="la_encuesta" style="margin-left: 0px;">
      	<script language="JavaScript" type="text/JavaScript">
	<!--
	var winName="encuesta" 
	function A_V(theURL,w,h) { 
	l = (screen.width - w)/2; 
	t = (screen.height - h)/2; 
	var windowprops ="top=15,left=200,toolbar=no,location=no,status=no, menubar=no,scrollbars=auto, resizable=no,width=" + w + ",height=" + h +", left="+l+", top="+t; 
	var encuesta=window.open(theURL,winName,windowprops); 
	return encuesta;
	}
	//-->
	
	
	
	
	</script>
	
	
		
<form name="f80" method="post" onsubmit="return false" id="f80">
				<input name="accion" id="accion" value="votar" type="hidden">
				<input name="id_encuesta" value="80" type="hidden">
				<input name="id_seccion" value="29" type="hidden">

									<table style="border: 0px solid rgb(0, 51, 0); background: rgb(236, 237, 237) none repeat scroll 0% 0%; width: 268px; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; font-family: Arial,Helvetica,sans-serif; font-size: 10px; color: rgb(0, 0, 0);" align="left" border="0" cellpadding="3" cellspacing="0">
						 <tbody><tr style="background: rgb(36, 72, 106) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(236, 237, 237);">
							<td>Intendente 2009</td></tr>
						 <tr>
						 <td align="center">
						 	<div align="center"></div>
						 	<strong>¿Cual es su color faborito?</strong>
						</td>
						</tr>
						 
				<tr>
					<td align="left"><input name="voto_encuesta" value="222" type="radio">&nbsp;rojo</td>
				</tr>
								<tr>
					<td align="left"><input name="voto_encuesta" value="223" type="radio">&nbsp;azul</td>
				</tr>
								<tr>
					<td align="left"><input name="voto_encuesta" value="224" type="radio">&nbsp;verde</td>
				</tr>
								<tr>
					<td align="left"><input name="voto_encuesta" value="226" type="radio">&nbsp;celeste</td>
				</tr>
								<tr>
					<td align="left"><input name="voto_encuesta" value="225" type="radio">&nbsp;amarillo</td>
				</tr>
				<tr>
						<td colspan="2" align="center">							
							<input name="votarrrrr" value="Vote" style="font-family: Arial,Helvetica,sans-serif; font-size: 10px;" onclick="return validar(this.form.name,1)" type="button">
						</td>
				</tr><tr>
							<td colspan="2" align="center"><a href='javascript:encuesta=A_V("encuesta/votar_encuesta.php?accion=verresult&id_encuesta=80&id_seccion=29",288,250);encuesta.focus()' class="link80" style="font-family: Geneva,Arial,Helvetica,sans-serif; font-size: 11px; color: rgb(18, 70, 121);">
							Resultados</a></td></tr>				</tbody></table>
</form>

    </div>	</td>
  </tr></tbody>
  
  <tbody><tr>
    <td colspan="3" align="center" height="5">&nbsp;</td>
  </tr>

archivo encuesta/lib_ajax.js

Código: Seleccionar todo

// JavaScript Document
function createREQ() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
     return req;
}
function requestGET(url, query, req) {
myRand=parseInt(Math.random()*99999999);
req.open("GET",url+'?'+'query'+'&rand='+myRand,true);
req.send(null);
}
function requestPOST(url, query, req) {
req.open("POST", url,true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(query);
}
function doCallback(callback,item) {
eval(callback + '(item)');

}

function doAjax(url,query,callback,reqtype,getxml,div_mensaje) {
// crea la instancia del objeto XMLHTTPRequest 
var myreq = createREQ();

myreq.onreadystatechange = function() {
if(myreq.readyState == 4) {
   if(myreq.status == 200) {
      var item = myreq.responseText;
      if(getxml==1) {
         item = myreq.responseXML;
      }
      doCallback(callback, item);
    }
  }
  else {     // si readyState ha cambiado
                 // pero readyState <> 4
           document.getElementById(div_mensaje).innerHTML ='<div align=center><br><br><p><img src="/grafica/anim.gif"></p><br><br></div>';
  }
  
}
if(reqtype=='post') {
requestPOST(url,query,myreq);
} else {
requestGET(url,query,myreq);
}
}

//función genérica para extraer elementos de un formulario,es util en peticiones "POST"
function getRequestBody(oForm) {
	var aParams = new Array();
	for (var i=0 ; i < oForm.elements.length; i++) 
	{
		if(oForm.elements[i].type != "radio" && oForm.elements[i].type != "checkbox")
		{
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
		
		if(oForm.elements[i].type == "radio" && oForm.elements[i].checked)
		{
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}

//esta funcion es para volver cuando no se eligio ninguna opcion
function volver(id_seccion)
{
	//doAjax('/sys/encuesta/auxi.php?c='+id_seccion,'','volverr','get','0','la_encuesta')
	
}

function validar(f,tipo)
{
	
	var formu = document.forms[f];//todo el furmulario lo guardo en una variable
	//alert("esto es formu "+f);
	var count = validar_radios(formu);
	
	if(count <= 0)
	{
		alert("Debe elegir una opcion");
		return false;
	}
	else
	{
		if(tipo==1)
			accion_encuesta(f);	
		else
			accion_encuesta_pre(f);	
	}
}

function volverr(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = "";
		la_encuesta.innerHTML = texto;
	}

function validar_radios(oForm)
{
	var cont = 0;
	for (var i=0 ; i < oForm.elements.length; i++) 
	{
		
		if(oForm.elements[i].type == "radio" && oForm.elements[i].checked)
			cont ++;
	}
	return cont;
}


//función que pone en marcha la encuesta
	function hacer_encuesta(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta");
		la_encuesta.innerHTML = texto;
	}
	
	//función que pone en marcha la encuesta premiada
	function hacer_encuesta_pre(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = texto;
	}
	
	function accion_encuesta(f)
	{
		var formu = document.forms[f];//todo el furmulario lo guardo en una variable
		//alert("esto es formu en accion encuesta "+formu);
		//ahora armo el query 
		var query = getRequestBody(formu);
		//este es el div donde va a aparecer el mensaje de espera
		doAjax('encuesta/votar_encuesta.php',query,'hacer_encuesta','post','0','la_encuesta')
	}
	
	//esta es la misma que la de arriba pero para encuestas premiadas
	function accion_encuesta_pre(f)
	{
		var formu = document.forms[f];//todo el furmulario lo guardo en una variable
		//alert("esto es formu en accion encuesta "+formu);
		//ahora armo el query 
		var query = getRequestBody(formu);
		//este es el div donde va a aparecer el mensaje de espera
		doAjax('encuesta/votar_premiada.php',query,'hacer_encuesta_pre','post','0','la_encuesta_pre')
	}
	
	//esta funcion muestra la encuesta  premiada al cancelar el login
	function mostrar_premiada(){
		doAjax('encuesta/votar_premiada.php','&a=1','show_premiada','post','0','la_encuesta_pre')	
	}
	function show_premiada(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = texto;
	}

	
//esta función es para manejar div ocultos
//cuando se muestra login,se oculta el formulario de votar y viceversa
function showhide(id)
{ 	
	obj = document.getElementById(id); 
	if (obj.style.display == "none")
	{ 
			obj.style.display = ""; 
	}
	else
	{ 
		obj.style.display = "none"; 
	}  
} 

//esta función oculta el formulario de votar
function ocultar_formu(id){
	//alert("este es el id "+id);
	formu=document.getElementById(id);
	formu.style.display="none";
}
//esta función es para hacer el login en forma asincronica
function login()
{
	var formu = document.forms.loguear;//todo el furmulario lo guardo en una variable	
	var query = getRequestBody(formu);
		
	doAjax('album/login.php',query,'hacer_login','post','0','la_encuesta_pre');
}

//esta función es para poner en marcha el login ajax
function hacer_login(texto)
{
	var la_encuesta = document.getElementById("la_encuesta_pre");
	la_encuesta.innerHTML = texto;
}
muchas gracias
es una validacion de formulario basicamente a el enlace lo hace con javascript no con php pero tu duda cual es como se validan formularios? o cual? , No lleva mucho php , pero mas o menos por lo que entendi tu pregunta q lo que necesitas es entender un poquito la forma de trabajar del code : pues basicamente creas un formulario html , php toma los campos del formulario (los "imputs") como arrays cuyo nombre coincide es decir si el campo o boton del formulario el name="opinion" php registra un array llamado opinion se llama array asociativo cuyo valor es el valor del campo opinion y los "lee" por un metodo llamado POST es el q usan ahi en el code ! cuando le das a enviar el formulario el php lee todos los campos almacenandolos en arrays q luego usas para mostrar el resultado .


Pd : la Forma de leer los campos del formiulario es $_POST["nombre_campo"];

Bueno !! espero haberte guiado un poco !! saludos ( que quede en claro que no es mucho php ) exitos man !
<Josh> y bueno hermano,tu hermana q me dijo q estaba cansada de tenerle el orto como la bandera de japon y bueno la pobre me quizo hacer un masaje prostatico nada mas pero era tanto su recelo y venganza acumulada q se esmero un poco mas de lo normal,pero bue,estuivo bien amorizado por la de dias horas años y lagrimas q echo la pobre de tanto culearla
bueno desde ya muchas gracias... lo estube analizando y creo q entendi bastante...


un voto se podria hacer asi

encuesta/votar_encuesta.php?accion=votar&id_encuesta=80&id_seccion=29&voto_encuesta=222&votarrrrr=Vote

muchas gracias
Responder

Volver a “Dudas y Preguntas”