Foros del Web » Programando para Internet » PHP »

Ayuda con funciones ...

Estas en el tema de Ayuda con funciones ... en el foro de PHP en Foros del Web. Hola, antes que nada quiero agradecerles por toda la ayuda que ofrecen aqui en foros del web y es muy buena, ahora me encuentro programando ...
  #1 (permalink)  
Antiguo 12/07/2005, 14:55
 
Fecha de Ingreso: diciembre-2003
Ubicación: Campehce, Mexico
Mensajes: 325
Antigüedad: 14 años
Puntos: 0
Ayuda con funciones ...

Hola, antes que nada quiero agradecerles por toda la ayuda que ofrecen aqui en foros del web y es muy buena, ahora me encuentro programando un top web.
Mi error: Al darle votar por la web X la pantalla me aparece en blanco, osea cuando ya estoy en votar?go=votar quisiera pedirle toda la ayuda posible.
He aqui el código:
Código PHP:
<?
include("conexion.php");

if(isset(
$_GET[id])) {
$sql mysql_query("SELECT * FROM webmasters WHERE id='$id'");
while(
$row mysql_fetch_array($sql)) {
$web $row[titulo];
echo 
"<center>
  <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='100' id='AutoNumber1'>
    <tr>
      <td style='border-style: solid; border-width: 1'>
      <img border='0' src='images/header.gif' width='748' height='179'></td>
    </tr>
    <tr>
      <td style='border-style: solid; border-width: 1' bgcolor='#334E73'>
      <p align='center'>&nbsp;</p>
      <p align='center'><font face='Tahoma' size='2' color='#FFFFFF'>Hola, al 
      pinchar en el botón estarás votando por la web:</font></p>
      <p align='center'><b><font face='Tahoma' size='2' color='#FFFFFF'>$web
      </font></b></p>
      <p align='center'><font face='Tahoma' size='2' color='#FFFFFF'>Si no 
      quieres votar haz click <a href='http://www.topwebxp.com'>
      <font color='#FFFFFF'>aquí</font></a>.</font></p>
      <form method='POST' action='votar.php?go=votar'>
        <p align='center'><input type='submit' value='Votar' name='voto'></p>
      </form>
      </td>
    </tr>
  </table>
  </center>"
;
}
}

if(isset(
$_GET[go])) {
if(
$_GET[go] == "votar") {
$ip $REMOTE_ADDR;
$fecha date("d-m-Y");

$selekt mysql_query("SELECT * FROM votos WHERE ip='$ip' AND fecha='$fecha'");
if(
$row mysql_fetch_array($selekt)) {
$top "http://www.topwebxp.com";
header("Location: $top");
}
else
{

$voto "INSERT INTO votos (id,ip,fecha,web) VALUES ('','$ip','$fecha','$web')";
$contar mysql_query("SELECT * FROM webmasters WHERE titulo='$web'");
while(
$row mysql_fetch_array($contar)) {
$total $row[votos];
$total++;
$update "UPDATE webmasters SET votos='$total'";
mysql_query($voto);
mysql_query($update);
header("Location: $top");
}
}
}
}

?>
Creo que noe s mucho pedir
  #2 (permalink)  
Antiguo 14/07/2005, 11:34
 
Fecha de Ingreso: diciembre-2003
Ubicación: Campehce, Mexico
Mensajes: 325
Antigüedad: 14 años
Puntos: 0
Alguien me puede ayudar??
  #3 (permalink)  
Antiguo 14/07/2005, 17:59
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 14 años
Puntos: 2
Creo que es por esto.

Si tu tienes definido esto ...

Código PHP:
 <form method='POST' action='votar.php?go=votar'
estas enviando el formulario via POST. Entonces, ¿por que usas el metodo GET para verificar la variable go?...

Código PHP:
if(isset($_GET[go])) { 

...deberia ser ...

Código PHP:
if(isset($_POST[go])) { 
  #4 (permalink)  
Antiguo 14/07/2005, 22:26
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 12 años, 5 meses
Puntos: 1
habeer lo que tienes como accion en el formulario no te hara ni cosquillas el necesita un archivo como action y nada mas

la solucion es un incluir un campo hidden de nombre votar y valor go y asi solucionas el problema

y asi no necesitas usar el metodo get y solo usas post poruq elo que hacias dara problemas
  #5 (permalink)  
Antiguo 14/07/2005, 22:31
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 12 años, 5 meses
Puntos: 1
Listo asi deberia quedar mas o menos

Código PHP:
<?
include("conexion.php");

if(isset(
$_GET[id])) {
$sql mysql_query("SELECT * FROM webmasters WHERE id='$id'");
while(
$row mysql_fetch_array($sql)) {
$web $row[titulo];
echo 
"<center>
  <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='100' id='AutoNumber1'>
    <tr>
      <td style='border-style: solid; border-width: 1'>
      <img border='0' src='images/header.gif' width='748' height='179'></td>
    </tr>
    <tr>
      <td style='border-style: solid; border-width: 1' bgcolor='#334E73'>
      <p align='center'>&nbsp;</p>
      <p align='center'><font face='Tahoma' size='2' color='#FFFFFF'>Hola, al 
      pinchar en el botón estarás votando por la web:</font></p>
      <p align='center'><b><font face='Tahoma' size='2' color='#FFFFFF'>$web
      </font></b></p>
      <p align='center'><font face='Tahoma' size='2' color='#FFFFFF'>Si no 
      quieres votar haz click <a href='http://www.topwebxp.com'>
      <font color='#FFFFFF'>aquí</font></a>.</font></p>
      <form method='POST' action='votar.php'>
        <p align='center'><input type='submit' value='Votar' name='voto'></p>
        <input TYPE='hidden' VALUE='votar' NAME='go'>
      </form>
      </td>
    </tr>
  </table>
  </center>"
;
}

}

if(isset(
$_POST[go])) {
if(
$_POST[go] == "votar") {
$ip $REMOTE_ADDR;
$fecha date("d-m-Y");

$selekt mysql_query("SELECT * FROM votos WHERE ip='$ip' AND fecha='$fecha'");
if(
$row mysql_fetch_array($selekt)) {
$top "http://www.topwebxp.com";
header("Location: $top");
}
else
{

$voto "INSERT INTO votos (id,ip,fecha,web) VALUES ('','$ip','$fecha','$web')";
$contar mysql_query("SELECT * FROM webmasters WHERE titulo='$web'");
while(
$row mysql_fetch_array($contar)) {
$total $row[votos];
$total++;
$update "UPDATE webmasters SET votos='$total'";
mysql_query($voto);
mysql_query($update);
header("Location: $top");
}
}
}
}

?>
Creo que noe s mucho pedir [/QUOTE]
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 13:06.