Newsgroup: it.comp.www.php
Titolo: Aiuto su query e checkbox

Salve a tutti
ho una tabella operatori
CREATE TABLE IF NOT EXISTS `operatori` (
  `operatore_id` int(11) NOT NULL AUTO_INCREMENT,
  `operatore` varchar(250) NOT NULL DEFAULT '',
  `email` varchar(250) NOT NULL DEFAULT '',
  `username` varchar(250) NOT NULL DEFAULT '',
  `password` varchar(10) NOT NULL DEFAULT '',
  `type` varchar(10) NOT NULL DEFAULT 'user',
  `reparto` int(10) NOT NULL,
  PRIMARY KEY (`operatore_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=36 ;
altra tabella menu_operatori
CREATE TABLE IF NOT EXISTS `menu_utenti` (
  `menu_user_id` int(11) NOT NULL AUTO_INCREMENT,
  `menu_id` int(10) NOT NULL,
  `gruppo_id` int(10) NOT NULL,
  `user_id` int(10) NOT NULL,
  PRIMARY KEY (`menu_user_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=461 ;
 $sql = "SELECT * FROM operatori ORDER BY operatore";
 $result = mysql_query($sql);
 while ( $record = mysql_fetch_array($result) ) {
  print $record['operatore_id'];
  $query = "SELECT * FROM menu_utenti WHERE menu_id = ".$menu. "";
  print $query."<br>";
  $result_menu = mysql_query($query) or die ("Query Failed
".mysql_error().print $query);
  while($row = mysql_fetch_row($result_menu)){
   $user_id = $row['user_id'];
    if ($user_id == $record['operatore_id'] ) {
    ?>
    <tr>
      <td><input type="checkbox" name="operatore_id" checked="checked"
value="<?php echo $record['operatore_id'] ?>"></td>
      <td><?php echo $record['operatore'] ?></td>
    </tr>
    <?php
   } else {
   ?>
    <tr>
      <td><input type="checkbox" name="operatore_id" value="<?php echo
$record['operatore_id'] ?>"></td>
      <td><?php echo $record['operatore'] ?></td>
    </tr>
    <?php
   }
  }
 }
quello che vorrei ottenere � dammi tutti gli operatori, solo il menu che
richiamo con $menu se esiste nella tabella menu_utenti checked altrimenti
non checked
E' lunedi mattina e ho il sole al cervello....
mi aiutate?
F.

Buond�,
volendo testare in locale un sistema di "voting", � possibile usare uno
script PHP o cURL ad hoc per simulare le richieste da diversi IP?
Ovvero, la richiesta � quella di cambiare l'IP del votante.
Se lo faccio in locale, l'IP votante sarebbe sempre 127.0.0.1 e come
test non � probante :-)
So benissimo che cambiando l'IP e usandone uno fuffo, � impossibile
ottenere indietro la risposta del server. Ma chi usa queste tecniche non
� certo un gentiluomo e la risposta non interessa.
thx
M.

Buondï¿œ,
volendo testare in locale un sistema di "voting", ï¿œ possibile usare uno
script PHP o cURL ad hoc per simulare le richieste da diversi IP?
Ovvero, la richiesta ï¿œ quella di cambiare l'IP del votante.
Se lo faccio in locale, l'IP votante sarebbe sempre 127.0.0.1 e come
test non ï¿œ probante :-)
So benissimo che cambiando l'IP e usandone uno fuffo, ï¿œ impossibile
ottenere indietro la risposta del server. Ma chi usa queste tecniche non
ï¿œ certo un gentiluomo e la risposta non interessa.
thx
M.

Ooops.... ho fatto reply per errore...

Se ho capito bene la richiesta, devi fare una join fra le due tabelle.
Qualcosa che ha a che vedere con la clausola
SELECT ... ...
FROM operatori o JOIN menu_utenti mu on (o.operatore_id = mu.user_id)
Nella lista dei campi per la SELECT ci metti quello che vuoi, usando gli
alias 'o' e 'mu'.
M.

Il 04/07/11 10.35, Mau C ha scritto:

Prova a porti una domanda; secondo te su un server con centinaia di 
domini l'utente che ha accesso a php/cURL puï¿œ modificare le impostazioni 
di rete incasinando centinaia di domini?
Tu che dici?
Direi che sei un tantino fuori strada se pensi che da php si possa 
gestire la configurazione di rete del server sottostante no?
Quello che servirebbe ï¿œ un simulatore di reti o N macchine virtuali ma 
l'idea in se appare un tantino assurda in quanto buona parte degli 
utenti proviene da reti con IP dinamici il chï¿œ potrebbe provocare falsi 
positivi con utenti che teoricamente hanno giï¿œ votato ma praticamente 
hanno appena ottenuto l'IP del precedente.
Si fa prima e meglio utilizzando certificati digitali via smart card o 
pkcs#12 da far installare agli utenti nei propri browser.

script PHP o cURL ad hoc per simulare le richieste da diversi IP?
Certamente! T'inventi un parametro tipo "myaddr" e aggiungi una riga
(anzi due) all'inizio dello script, in PHP immagino,
	if (isset($_REQUEST['myaddr']))
		$_SERVER['REMOTE_ADDR'] = $_REQUEST['myaddr'];
A questo punto, per simulare una richiesta dall'IP 1.2.3.4, ti basta
aggiungere nell'URL del voto,
	&myaddr=1.2.3.4
Voila.
Se vuoi essere ancora piu' sicuro
	if (isset($_REQUEST['myaddr']))
		if ('127.0.0.1' == $_SERVER['REMOTE_ADDR'])
			$_SERVER['REMOTE_ADDR'] = $_REQUEST['myaddr'];
e cosi' potranno essere taroccate solo le richieste dello script che
usi per il test, e solo in locale.
Leonardo
-- 
Surstangas via akcipitr', la ceval' fojnumas nur:
Jen vigla damo en brakum', kaj vi pensas pri forkur'?
Do li turnis sin, kaj turnis sin, kaj ekdormis sen singard';
Kaj lin apudis je l' vekigx, soldatoj kaj Barnard'.

 usi per il test, e solo in locale.
Questo metodo mi piace e lo trovo elegante... ! Grazie
saludos,
M.

 hanno appena ottenuto l'IP del precedente.
Questo discorso conferma quanto sia "inaffidabile" un sistema basato
solo sul "click", senza autenticazione.
Il mio dubbio perï¿œ verteva sul fatto che un "bombardamento"
probabilmente si puï¿œ filtrare, con pesante overhead del server, cercando
di effettuare la risoluzione inversa dell'IP e scartando gli IP
"fasulli" senza dominio valido. Ma non lo so se sia fattibile. Ecco il
perchï¿œ dell'IP camuffato, per fare i test.
Come al solito, se il gioco non vale la candela, amen, e si trova un
altro sistema piï¿œ efficiente.
saludos,
M.