Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/07/2010, 05:33
btaca
 
Fecha de Ingreso: julio-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Busqueda Respuesta: encuesta un solo voto por usuario

Hola:
Ante todo gracias por interesaros por mi problema.
Como me pedis y para que sea un poco mas entendible lo que deseo hacer, os remito el codigo de las dos paginas que estan afectadas por los errores a ver si podeis conseguir darme un poco de luz en el porque del funcionamiento solo a medias de este sistema de encuestas.
Gracias por ayudarme.


codigo de la pagina encuestas.php


<?php require_once('Connections/la_mia.php'); ?>
<?php
mysql_select_db($database_enk, $enk);
$query_voto = "SELECT usuaris.email, usuaris.contrassenya, usuaris.vot, tblenc.encid, tblenc.encprg, tblenc.encrpt1, tblenc.encrpt2, tblenc.encrpt3, tblenc.encrpt4, tblenc.encval1, tblenc.encval2, tblenc.encval3, tblenc.encval4, tblenc.enctot, tblenc.votar FROM usuaris,tblenc ";
$voto = mysql_query($query_voto, $castellar) or die(mysql_error());
$row_voto = mysql_fetch_assoc($voto);
$totalRows_voto = mysql_num_rows($voto);

$SQLquery = "SELECT * FROM tblenc order by encid desc";
$SQLresult = mysql_query($SQLquery);
$SQLrow = mysql_fetch_array($SQLresult);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['email'])) {
$loginUsername=$_POST['email'];
$password=$_POST['contrassenya'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "resultado.php";
$MM_redirectLoginFailed = "form_usuaris.php";
$MM_redirecttoReferrer = false;
mysql_select_db($enk, $enk);

$LoginRS__query=sprintf("SELECT email, contrassenya FROM usuaris WHERE email='%s' AND contrassenya='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $castellar) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<form name="voto" method="POST" action="<?php echo $loginFormAction; ?>">
<table width="220" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><center>
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="29%">email : </td>
<td width="71%"><label>
<input name="email" type="text" id="email" size="20" maxlength="50">
</label></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="53%">contrassenya : </td>
<td width="47%"><label>
<input name="contrassenya" type="password" id="contrassenya" size="12" maxlength="12">
</label></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><? echo $SQLrow[1]?></strong></font></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <div align="left"><font size="2">
<input type="radio" name="voto" value="1">
<? echo $SQLrow[2]?></font>
</div></td>
</tr>
<tr>
<td> <div align="left"><font size="2">
<input type="radio" name="voto" value="2">
<? echo $SQLrow[3]?></font>
</div></td>
</tr>
<tr>
<td> <div align="left"><font size="2">
<input type="radio" name="voto" value="3">
<? echo $SQLrow[4]?></font>
</div></td>
</tr>
<tr>
<td> <div align="left"><font size="2">
<input type="radio" name="voto" value="4">
<? echo $SQLrow[5]?></font>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td><div align="right">
<input name="votar" type="submit" id="votar" value="Procedir a Votar">
</div></td>
</tr>
</table>
</center>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<p align="right">

<p align="right"><font size="2">
<label></label>
</font>

<div align="right"></div>
<p align="right">
<input type=hidden name="encid" value="<?echo $SQLrow[0]?>">
</form>




<td>&nbsp;</td>
<div align="right">
</tr>
</table>
</div>
</body>
</html><?php
mysql_free_result($voto);
?>




codigo de la pagina resultado.php



<?php require_once('Connections/la_mia.php'); ?>
<?
echo $loginFormAction;
//recibo el voto
$voto = $_POST["voto"];
//recibo el id de la encuesta
$encid = $_POST["encid"];


mysql_select_db($enk, $enk);
$SQLquery = "UPDATE tblenc SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid";
$SQLresult = mysql_query($SQLquery);
$SQLquery = "SELECT * FROM tblenc where encid=$encid";
$SQLresult = mysql_query($SQLquery);
$SQLrow = mysql_fetch_array($SQLresult);
?>
<P ALIGN="center"><font size="4"><strong><em>RESULTADOS PARCIALES DE LA
ENCUESTA</em></strong></font></P>
<P ALIGN="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?
echo $SQLrow["encprg"]
?>
</font></strong></P>
<TABLE ALIGN="center" WIDTH="75%" BORDER="0" CELLSPACING="1" CELLPADDING="1">
<!--DWLayoutTable-->
<TR>
<TD ALIGN="left" WIDTH="23%"><? echo $SQLrow["encrpt1"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval1"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif"></TD>
<TD ALIGN="center" WIDTH="14%"><? echo $SQLrow["encval1"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt2"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval2"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra2.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval2"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt3"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval3"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra3.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval3"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt4"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval4"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra4.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval4"]?> votos</TD>
</TR>
</TABLE>
<P ALIGN="center">Total de votos emitidos: <? echo $SQLrow["enctot"]?></P>

<?php
mysql_free_result($voto);
?>



Si escribo en los text box un nombre de usuario que no existe o con algun error de identificacion, funciona bien y redirige a la pàgina de alta de usuarios, en cambio si le doy un nombre de usuario y contraseña correcta, me pasa a la pagina de resultado.php pero no se refleja el voto ni las barras de estadistica y aparecen los siguientes errores :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\encuesta\resultado.php on line 15


Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\encuesta\resultado.php on line 54


He comprobado una y otra vez y no soy capaz de dar con el o los errores.

Gracias de nuevo por vuestro tiempo y colaboracion.

balo0o0o0

Última edición por btaca; 27/07/2010 a las 05:43