Autor Zpráva
achyles
Profil *
Zdravím.
Vytvořil jsem jednoduchou anketu, vše fungovalo do doby než jsem zadal podmínku jednoho hlasování z 1 IP.
Anketa se sice zobrazí, ale neodešle data do DB.

SQL
CREATE TABLE anketa (
ano INT NOT NULL DEFAULT '0',
mozna INT NOT NULL DEFAULT '0',
ne INT NOT NULL DEFAULT '0'
)

CREATE TABLE anketa_ip (
ip VARCHAR(32)
)

Kód:

<?php

$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = '******';
$dbname = 'zkouska';
$ip = $_SERVER['REMOTE_ADDR'];

mysql_connect ($dbhost, $dbuser, $dbpass) or ($error = 1);
if ($error == '1') {echo 'Nelze se připojit k MySQL';}
else {
mysql_select_db ($dbname) or ($errordb = 1);
}
if ($errordb == '1') {echo 'Nelze se připojit k DB';}
else {
$vysledek = mysql_query("select * from anketa");
$zaznam=MySQL_Fetch_Array($vysledek);
}
                                                             


$ano1 = $zaznam['ano'] + 1;
$mozna1 = $zaznam['mozna'] + 1;
$ne1 = $zaznam['ne'] + 1;

$ipvdb = mysql_query("select * from anketa_ip");
$zaznamip = MySQL_Fetch_Array($ipvdb);

if ($zaznamip['ip'] == $ip) {$povoleni = 0;}
else {$povoleni = 1;}

if (empty ($_POST['send'])) {}
          
elseif ($povoleni == '1') { 

       if ($_POST['hlas'] == 'ano') 
          {  mysql_query("update `anketa` set ano = $ano1");}
       else {}

       if ($_POST['hlas'] == 'mozna') 
          {  mysql_query("update `anketa` set mozna = $mozna1");}
       else {}
       
       if ($_POST['hlas'] == 'ne') 
          {  mysql_query("update `anketa` set ne = $ne1");}
       else {}


}

if ($povoleni == '1') {mysql_query("insert into `anketa_ip` VALUES ('$ip')");}          
   else {}

        ?>
<html>
<head>
<title>anketa</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>                                                                                                           
<body>

        
        <table>
            <form method="post" action="index.php">
                <tr><td><input type="radio" name="hlas" value="ano"></td><td>Ano</td>
                     <td><?php echo '(<b>'; echo $zaznam['ano']; echo '</b>)';?></td></tr>
                <tr><td><input type="radio" name="hlas" value="mozna"></td><td>Možná</td>
                     <td><?php echo '(<b>'; echo $zaznam['mozna']; echo '</b>)';?></td></tr>
                <tr><td><input type="radio" name="hlas" value="ne"></td><td>Ne</td>
                     <td><?php echo '(<b>'; echo $zaznam['ne']; echo '</b>)';?></td></tr>
              <tr><td align="middle" colspan=3><input type="submit" value="Hlasovat" name="send" onclick="<?php if ($povoleni == ('0')) { echo ' alert('Hlasovat lze pouze 1-krát!')';} else {} ?>"></td></tr>
            </form>
        </table>       
</body>             
</html>

Předem děkuji.
slim12
Profil
a vypise nejakou chybu
achyles
Profil *
slim12:
Právě že nic.
Alphard
Profil
Kde se to zastaví? Jakou hodnotu dostane $povoleni?
achyles
Profil *
Alphard:
Ono se zdá, že je vše v pořádku $povoleni má hodnotu 1, ale když dám odeslat prostě to nenaláduje data do DB.
achyles
Profil *
Vyřešeno.

if (empty ($_POST['send'])) {}
         
else { 
       if ($povoleni == '1' and $_POST['hlas'] == 'ano') 
          {  mysql_query("update `anketa` set ano = $ano1"); $povoleni = 2;}
       else {}
       if ($povoleni == '1' and $_POST['hlas'] == 'mozna') 
          {  mysql_query("update `anketa` set mozna = $mozna1"); $povoleni = 2;}
       else {}
       if ($povoleni == '1' and $_POST['hlas'] == 'ne') 
          {  mysql_query("update `anketa` set ne = $ne1"); $povoleni = 2;}
       else {}


}

if ($povoleni == '2') {mysql_query("insert into `anketa_ip` VALUES ('$ip')");}          
   else {} 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0