Newsgroup: it.comp.www.php
Titolo: Problemi CheckBox in PHP

Ciao ragazzi ho questo peroblema.
Dovrei poter selezionare tramite CheckBox delle news ma mi passa solo il
primo valore.
Ho provato allora a numerare l'attributo name della checkbox con un array ed
estrarlo con un ciclo foreach ma non mi da nulla come risultato.
Cosa posso fare?
Eccovi il sorgente dello script che mi deve recuperare da un elenco di news
(estratte da un db mysql) le news che ho selezionato.
//FORM CON CICLO
<input type="checkbox" name="news<?=$i?>" value="<?= $rs["ID"] ?>">
<? $i = $i+1; ?>
//PARTE DI ESTRAZIONE NEWS SELEZIONATE DAL DB:
<?
}
if($step == "1"){
for($i=0; $i < count($_POST[news]); $i++){
$strSQL = "SELECT * FROM blizzy_news WHERE ID = '".$_POST["news$i"]."'";
$query = mysql_query($strSQL);
$msg_news = "";
while($rs = mysql_fetch_array($query)){
echo $rs["ID"];
Switch ($rs["img"]){
case "Generale":
$string_tipo ="<img border=\"0\" ALT=\"General News\" align=\"absmiddle\"
src=\"
http://www.blizzyitalia.com/icone/blizz.jpg\
">";
$color = "#BEDAFF";
break;
case "Starcraft":
$string_tipo ="<img border=\"0\" ALT=\"Starcraft News\" align=\"absmiddle\"
src=\"
http://www.blizzyitalia.com/icone/sc.gif\
">";
$color = "#BEDAFF";
break;
case "Warcraft":
$string_tipo = "<img border=\"0\" ALT=\"Warcraft 3 News\"
align=\"absmiddle\" src=\"
http://www.blizzyitalia.com/icone/w3.gif\
">";
$color = "#FFAD70";
break;
case "Diablo2":
$string_tipo = "<img border=\"0\" ALT=\"Diablo 2 News\" align=\"absmiddle\"
src=\"
http://www.blizzyitalia.com/icone/d2.gif\
">";
$color = "#FFAEAE";
break;
case "Brood":
$string_tipo = "<img border=\"0\" ALT=\"Brood War News\" align=\"absmiddle\"
src=\"
http://www.blizzyitalia.com/icone/bw.jpg\
">";
$color = "#D4FFD8";
break;
case "live":
$string_tipo = "<img border=\"0\" ALT=\"LiveCoverage News\"
align=\"absmiddle\" src=\"
http://www.blizzyitalia.com/icone/ngi.gif\
">";
$color = "#D4FFD8";
break;
}
if ($rs["foto"] == "n/a"){
$img = "<td class=\"Testo\" style=\"BORDER-left: #003399 1px solid;
BORDER-right: #003399 1px solid\" colspan=\"2\" width=\"100%\">"
.$rs["news"]."</td>";
}else {
$path = "
http://www.blizzyitalia.com/
". $rs["foto"];
$msg_img = GetImageSize($path);
if ($img[0] > 100 || $img[1] > 100){
$width = 100;
$rapporto_img = $img[0]/$img[1];
$height = ceil($width/$rapporto_img);
}else{
$width = $img[0];
$height = $img[1];
}
$msg_img = "<td class=\"Testo\" style=\"BORDER-left: #003399 1px solid;
BORDER-right: #003399 1px solid\" colspan=\"2\" width=\"100%\"><br><img
src=\"$path\" width=\"$width\" height=\"\$height\"> ".$rs["news"]."</td>";
}
if($rs["sito"] == "warblizzy"){
$msg_sito = "<a href=\"war/\" target=\"_new\"><img src=\"../img/home.gif\"
align=\"absmiddle\" border=\"0\"></a>";
}
if($rs["sito"] == "live"){
$msg_sito = "<a href=\"live/\" target=\"_new\"><img src=\"../img/home.gif\"
align=\"absmiddle\" border=\"0\"></a>";
}
if($rs["sito"] == "blizzyitalia"){
$msg_sito = " ";
}
if($msg_news == ""){
$msg_news = "<table cellspacing=\"0\" border=\"0\" width=\"90%\"
align=\"center\">";
}else{
$msg_news .= "<table cellspacing=\"0\" border=\"0\" width=\"90%\"
align=\"center\">";
}
$msg_news .= "<tr>";
$msg_news .= "<td width=\"80%\" bgcolor=\"#BEDAFF\" style=\"BORDER-left:
#003399 1px solid\" class=\"Titolo\"><b><a
href=\"
http://www.blizzyitalia.com/news.php?id_news=
".$rs["ID"]."\">".$rs["t
itolo"]."</a></b></td>";
$msg_news .= "<td width=\"20%\" bgcolor=\"#BEDAFF\" style=\"BORDER-right:
#003399 1px solid\" align=\"right\">$string_tipo";
$msg_news .= "</td>";
$msg_news .= "</tr>";
$msg_news .= "<tr>";
$msg_news .= "<td colspan=\"2\" bgcolor=\"#003399\" class=\"Barra_news\"
width=\"100%\">by <b>".$rs["hunters"]." - ".$rs["data"]."</b></td>";
$msg_news .= "</tr>";
$msg_news .= "<tr>". $msg_img;
$msg_news .= "</td>";
$msg_news .= "</tr>";
$msg_news .= "<tr>";
$msg_news .= "<td class=\"Testo\" width=\"50%\" style=\"BORDER-TOP: #003399
1px solid; BORDER-left: #003399 1px solid\"> </td>";
$msg_news .= "<td class=\"Testo\" width=\"50%\" style=\"BORDER-TOP: #003399
1px solid; BORDER-right: #003399 1px solid\">";
$msg_news .= "<p style=\"margin-right:5\" align=\"right\">".$msg_sito;
$msg_news .= "</p>";
$msg_news .= "</td>";
$msg_news .= "</tr>";
$msg_news .= "</table>";
}
echo $msg_news;
}
}
?>
Lo script sembra andare in loop infinito e poi mi rimananda una pagina
bianca.
NB echo $msg_news è un test lo script mi serve per immagazinare il codice
HTML delle news selezionate in una variabile da poter spedire via email con
MIME.
Ciao ciao

 for($i=0; $i < count($_POST[news]); $i++){
Questo
  $_POST[news]
fai diventare
  $_POST["news"]
ed usare error_reporting(E_ALL) per farsi generare messaggi warning per
questo tipo di problemi...