Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aiuto su query e checkbox

3 views
Skip to first unread message

Franco Jesolo

unread,
Jul 4, 2011, 2:11:46 AM7/4/11
to
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.

Mau C

unread,
Jul 4, 2011, 4:35:13 AM7/4/11
to
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.

Mau C

unread,
Jul 4, 2011, 4:35:36 AM7/4/11
to
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.

Mau C

unread,
Jul 4, 2011, 4:36:03 AM7/4/11
to
Ooops.... ho fatto reply per errore...

Mau C

unread,
Jul 4, 2011, 4:42:43 AM7/4/11
to
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.

No-News

unread,
Jul 4, 2011, 11:14:50 AM7/4/11
to
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.

Leonardo Serni

unread,
Jul 4, 2011, 11:25:38 AM7/4/11
to
On Mon, 04 Jul 2011 10:35:36 +0200, Mau C <nob...@hotmail.com> wrote:

>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?

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'.

Mau C

unread,
Jul 5, 2011, 3:11:46 AM7/5/11
to
Il 04/07/2011 17.25, Leonardo Serni ha scritto:
[...]

> e cosi' potranno essere taroccate solo le richieste dello script che
> usi per il test, e solo in locale.

Questo metodo mi piace e lo trovo elegante... ! Grazie

saludos,
M.

Mau C

unread,
Jul 5, 2011, 3:17:00 AM7/5/11
to
Il 04/07/2011 17.14, No-News ha scritto:
[...]

> 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.

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.

0 new messages