Autor Zpráva
Werewolf
Profil
Ahoj, dělám výpis anket podle $_GET['id].
Mám definované proměnné, pod nimi definovanou funkci, abych nemusel kopírovat kód nebo to cyklit, ale ta funkcemi háže undefined variable (nedefinovaná proměnná). Nechápu. Definoval jsem ji. Kód:

anketa.php
<?php mysql_pconnect("localhost", "*****", "******"); mysql_select_db("default"); mysql_query("SET NAMES utf8;"); $seet = "tryanks_ank";
$id = @$_GET['id']; $name = @$_GET['name']; $note = @$_GET['note']; $select = @$_GET['select'];
$ank = mysql_query("SELECT * FROM ".$seet." WHERE id = '".$id."'");
$row = mysql_fetch_array($ank);
$votes = $row['ans1c'] + $row['ans2c'] + $row['ans3c'] + $row['ans4c'] + $row['ans5c'] +
$row['ans6c'] + $row['ans7c'] + $row['ans8c'] + $row['ans9c'] + $row['ans10c'];
$pr = $votes / 100;
$perc = Array(
1 => $row['ans1c'] / $pr, 
2 => $row['ans2c'] / $pr, 
3 => $row['ans3c'] / $pr, 
4 => $row['ans4c'] / $pr, 
5 => $row['ans5c'] / $pr, 
6 => $row['ans6c'] / $pr, 
7 => $row['ans7c'] / $pr, 
8 => $row['ans8c'] / $pr, 
9 => $row['ans9c'] / $pr, 
10 => $row['ans10c'] / $pr
);

function option_row($_id, $v) {
$return = '
	 <tr>
	  <td>
	   <table border="1" cellpadding="5">
	    <tr>
		 <td><a href="?id='.$_id.'vote='.$v.'">'.$row['ans'.$v].'</a></td>
		 <td class="votes">'.$row['ans'.$v.'c'];

if($row['ans'.$v.'c'] == 1) { $return .= 'hlas'; }
elseif($row['ans'.$v.'c'] >= 2 && $row['ans'.$v.'c'] <= 4) { $return .= 'hlasy'; }
elseif($row['ans'.$v.'c'] >= 5) { $return .= 'hlasů'; }

$return .= '
		 </td>
		</tr>
	    <tr>
	     <td class="perc"><div style="width: '.ceil($perc[$v]).'%; background-color: orange; border: 1px solid black; height: 15px">
		 <td>'.$perc[$v].'%</td>
	    </tr>
	   </table>
	  </td>
	 </tr>
';
return $return;
}
?>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <title>
  Zobrazuji anketu s id <?php echo($id); ?> | zvolil jste 
  <?php if($name != 1) { echo("ne"); } ?>zobrazovat jméno ankety | zvolil jste
  <?php if($note != 1) { echo("ne"); } ?>zobrazovat poznámku autora | 
  <?php
	  if(@$_COOKIE['anks_id'.$id] == 1) { echo("hlasoval jste, zvolil jste \"".$row['ans1']."\" (1. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 2) { echo("hlasoval jste, zvolil jste \"".$row['ans2']."\" (2. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 3) { echo("hlasoval jste, zvolil jste \"".$row['ans3']."\" (3. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 4) { echo("hlasoval jste, zvolil jste \"".$row['ans4']."\" (4. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 5) { echo("hlasoval jste, zvolil jste \"".$row['ans5']."\" (5. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 6) { echo("hlasoval jste, zvolil jste \"".$row['ans6']."\" (6. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 7) { echo("hlasoval jste, zvolil jste \"".$row['ans7']."\" (7. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 8) { echo("hlasoval jste, zvolil jste \"".$row['ans8']."\" (8. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 9) { echo("hlasoval jste, zvolil jste \"".$row['ans9']."\" (9. možnost)"); }
  elseif(@$_COOKIE['anks_id'.$id] == 10) { echo("hlasoval jste, zvolil jste \"".$row['ans10']."\" (10. možnost)"); }
  else { echo("neshlasoval jste"); } ?></title>
  <style>
  BODY TABLE TR TD TABLE {width: 100%; height: 100%;}
  TD.perc {width: 150px;}
  TD.votes {text-align: right;}
  A, A:link, A:visited, A:active, A:hover {font-family: Arial; font-color: black;}
  </style>
 </head>
 <body>
	<?php if($select != 1) { ?>
	<table style="border: 3px double blue; padding: 3px; width: 200px" border="1" cellpadding="5">
	<?php if($name == 1) { ?>
	 <tr>
	  <td title="Název ankety"><?php echo($row['name']); ?></td>
	 </tr>
	<?php } ?>
	 <tr>
	  <td title="Otázka"><?php echo($row['que']); ?></td>
	 </tr>
<?php if(!empty($row['ans1'])) { option_row($id, 1); } ?>
<?php if(!empty($row['ans2'])) { option_row($id, 2); } ?>
<?php if(!empty($row['ans3'])) { option_row($id, 3); } ?>
<?php if(!empty($row['ans4'])) { option_row($id, 4); } ?>
<?php if(!empty($row['ans5'])) { option_row($id, 5); } ?>
<?php if(!empty($row['ans6'])) { option_row($id, 6); } ?>
<?php if(!empty($row['ans7'])) { option_row($id, 7); } ?>
<?php if(!empty($row['ans8'])) { option_row($id, 8); } ?>
<?php if(!empty($row['ans9'])) { option_row($id, 9); } ?>
<?php if(!empty($row['ans10'])) { option_row($id, 10); } ?>
	<?php } ?>
	</table>
 </body>
</html>

Desetkrát (protože je deset odpovědí) mi to háže chyby na řádcích 27, 28, 30, 31, 32, 38 a 39. Vůbec si s tím nevím rady.

Mohl by někdo poradit? Díky
Alphard
Profil
přečtěte si něco o globálních proměnných
Werewolf
Profil
Alphard
Děkuji Vám, Alpharde, už jsem to pochopil a odstranil chyby.

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