Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2005, 09:28
exploit
 
Fecha de Ingreso: agosto-2004
Ubicación: Argentina
Mensajes: 81
Antigüedad: 20 años, 3 meses
Puntos: 0
Problema con sistema de encuestas

Saludos a todos!

Verán, descargué un código que sirve para realizar encuestas en una web, está divido en 3 secciones, aquí lo detallo:

1. "encuesta.sql": En este archivo hay las siguientes líneas de código:

Código:
# MySQL-Front Dump 2.5
#
# Host: localhost   Database: encuesta
# --------------------------------------------------------
# Server version 4.0.1-alpha-nt

USE encuesta;


#
# Table structure for table 'tblenc'
#

DROP TABLE IF EXISTS tblenc;
CREATE TABLE tblenc (
  encid int(11) NOT NULL auto_increment,
  encprg varchar(50) default NULL,
  encrpt1 varchar(50) default NULL,
  encrpt2 varchar(50) default NULL,
  encrpt3 varchar(50) default NULL,
  encrpt4 varchar(50) default NULL,
  encval1 int(11) NOT NULL default '0',
  encval2 int(11) NOT NULL default '0',
  encval3 int(11) NOT NULL default '0',
  encval4 int(11) NOT NULL default '0',
  enctot int(11) NOT NULL default '0',
  PRIMARY KEY  (encid)
) TYPE=MyISAM;
2º. "index.php": Aquí les mando el código:

Código:
<?
	$servidor="localhost";
	$usuario="aqui va el usuario";
	$password="aqui va el password de mi servidor";
	$base="encuestas";
	$SQLid = mysql_connect($servidor,$usuario,$password);
	mysql_select_db($base,$SQLid);
	$SQLquery = "SELECT * FROM tblenc order by encid desc";
	$SQLresult = mysql_query($SQLquery,$SQLid);
	$SQLrow = mysql_fetch_array($SQLresult);
?>
<form name="form1" method="post" action="encuesta.php">
<input type=hidden name="encid" value="<?echo $SQLrow[0]?>">              
  <table width="270" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
                  <td align=center bgcolor="#006600"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Qu&eacute; m&eacute;todo utilizar&iacute;a al momento de comprar por Internet? </font></td>
    </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>
				  <? echo $SQLrow[1]?>
				  </strong></font></div></td>
                </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <p> <font size="2"> 
                      <label> 
                      <input type="radio" name="voto" value="1">
                      Pago con Tarjeta de cr&eacute;dito
                      <? echo $SQLrow[2]?></label>
                      <br>
                  <label> 
                      <input type="radio" name="voto" value="2">
                  Pago con Sistema Pago F&aacute;cil
                  <? echo $SQLrow[3]?></label>
                      <br>
                      <label> 
                      <input type="radio" name="voto" value="3">
                      Pago con Deposito Bancario
                      <? echo $SQLrow[4]?></label>
                      <br>
                  <label> 
                      <input type="radio" name="voto" value="4">
                  Pago Contrareembolso
                  <? echo $SQLrow[5]?></label>
                      <br>
                      </font></p></td>
                </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <BR>
						<div align="center"> 
                      <input type="submit" name="Submit" value="Aceptar">
                    </div><BR>
				</td>
                </tr>
              </table>
            </form>
			
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="control.php">Administraci&oacute;n</a></font></div>
3º. "encuesta.php": Último archivo, aquí va el código:

Código:
<?
//recibo el voto
$voto = $_POST["voto"];
//recibo el id de la encuesta
$encid = $_POST["encid"];

$servidor="localhost";
$usuario="nombre de usuario";
$password="password de mi servidor";
$base="encuestas";
$SQLid = mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$SQLid);
$SQLquery = "UPDATE tblenc".
			" SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLquery = "SELECT * FROM tblenc where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$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"]?> 
        Pago con Tarjeta de Cr&eacute;dito
          <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"]?> 
        Pago con Sistema Pago F&aacute;cil
          <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"]?> 
        Pago con Dep&oacute;sito Bancario
          <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"]?> 
        Pago Contrareembolso
          <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>

Ahora bien, el problema es que cuando lo ejecuto, me da el siguiente error:

1º. En la página INDEX.PHP: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bn000055/public_html/encuesta/index.php on line 10

Nota: El "bn000055" es mi nombre de usuario en el servidor

2º. En la página ENCUESTA.PHP: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bn000055/public_html/encuesta/encuesta.php on line 18

En los dos esta dando el error en la linea "mysql_fetch_array()".

Poco entiendo de PHP, no sé porqué me da este error. Por favor, si alguien sabe, le estaría muy agradecido por la ayuda.

Aclaraciones: El servidor es Linux y poseo otro en Unix, tengo entendido que deberían soportar esta Base de datos.

Saludos a todos, y desde ya muchas gracias.