Limite ai login

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao a tutti!

Per favore come faccio a mettere un limite al numero di iscritti? Vorrei che le registrazioni al sito non fossero illimitate ma solo 10.

Sò che devo usare mysql_num_rows...ma qual'è la sintassi per dare il limite massimo utenti registrati?

Grazie infinite!
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
potresti fare così

$numero_registrati=mysql_num_rows($query);

if($numero_registrati <= 10){
//esegui la registrazione
}else{
//invii messaggio che non è possible registrarsi
}
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Un sistema alternativo per effettuare un controllo sarebbe quello di prevedere in tabella un campo ENUM settabile solo su 0 o 1 da passare a 1 quando viene raggiunto il limite di iscritti.
Ma è solo un'alternativa, la soluzione di Borgo va benissimo
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Un sistema alternativo per effettuare un controllo sarebbe quello di prevedere in tabella un campo ENUM settabile solo su 0 o 1 da passare a 1 quando viene raggiunto il limite di iscritti.
Ma è solo un'alternativa, la soluzione di Borgo va benissimo
Buono a sapersi, grazie! :fonzie:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
un piccolo segreto: mi hanno telefaxato da stocolma...sono in odore di (non santità) premio nobel per il php:eek:
Un'immagine inedita di Borgo che ritira l'ambito premio:
Gallery-Nobel-Prize-Nobel-004.jpg
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! In questo script di registrazione ho messo il limite 10 ma succede questo: me lo dice ma fà registrare ugualmente infinitamente.

PHP:
// Se il modulo viene inviato...
if(isset($_POST['registra']))
{
 // Dati Inviati dal modulo
 $cognome_utente = (isset($_POST['cognome_utente'])) ? trim($_POST['cognome_utente']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
        $nome_utente = (isset($_POST['nome_utente'])) ? trim($_POST['nome_utente']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
 $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
 $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : ''; // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default ''
 
 // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
 if (!get_magic_quotes_gpc()) {
     $cognome_utente = addslashes($cognome_utente);
        $nome_utente = addslashes($nome_utente);
 $pass = addslashes($pass);
 $mail = addslashes($mail);
 }
 
 
 // Controllo il Nome Utente
 if(strlen($cognome_utente) < 4 || strlen($cognome_utente) > 12)
  die('Cognome troppo corto, o troppo lungo');
        if(strlen($nome_utente) < 4 || strlen($nome_utente) > 12)
  die('Nome troppo corto, o troppo lungo');
 // Controllo la Password
 elseif(strlen($pass) < 4 || strlen($pass) > 12)
  die('Password troppo corta, o troppo lunga');
 // Controllo l'email
 elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $mail))
  die('Email non valida');
 // Controllo il nome utente non sia già occupato
 elseif(mysql_num_rows(mysql_query("SELECT cognome_utente FROM utenti WHERE cognome_utente = '$cognome_utente' LIMIT 1")) == 1)
  die('Cognome Utente non disponibile');
 // Controllo l'indirizzo email non sia già registrato
 elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = '$mail' LIMIT 1")) == 1)
  die('Questo indirizzo email risulta gi&agrave; registrato ad un altro utente');
 // Registrazione dell'utente nel database
 else
 {
 
  // Crypt della password per garantire una miglior sicurezza
  $pass = md5($pass);
 
  // Query per l'inserimento dell'utente nel database
  $strSQL = "INSERT INTO utenti (cognome_utente, nome_utente, pass, mail)";
  $strSQL .= "VALUES('$cognome_utente', '$nome_utente', '$pass', '$mail')";
  mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
 
  // Reindirizzo l'utente ad una pagina di conferma della registrazione
  header('Location: registrato.php');
  exit;
 }
}
$query=mysql_query("SELECT id FROM utenti LIMIT 10");
$utenti=mysql_num_rows($query);
if($utenti < 10){
//esegui la registrazione
}else{
echo "<center><b><h3>SUPERATO IL LIMITE UTENTI REGISTRATI</h3></b></center><br><br>";
} 
 
?>
<title>Registrazione</title>
</head>
<body>
<div align="center">
<form action="" method="post">
<table bgcolor="#bdd3ad" cellspacing="1" cellpadding="10" border="1">
<tr>
  <th colspan=2>REGISTRATI ALL'AREA PRIVATA</th>
 </tr>
<tr>
  <td width="90" align="right"><font face="Verdana" size="2">COGNOME</font>:</td>
  <td width="140"><input name="cognome_utente" type="text" id="cognome_utente" value="" size="15" align="middle onfocus="if(this.value=='Nome Utente') this.value='';" /><br /></td>
 </tr>
 <tr>
  <td width="90" align="right"><font face="Verdana" size="2">NOME</font></td>
  <td width="140"><input name="nome_utente" type="text" id="nome_utente" value="" size="15" align="middle onfocus="if(this.value=='Nome Utente') this.value='';" /><br /></td>
 </tr>
<tr>
  <td width="90" align="right"><font face="Verdana" size="2">PASSWORD</font></td>
  <td width="140"><input name="pass" type="password" id="pass" value="" size="15" align="middle onfocus="if(this.value=='Password') this.value='';" /><br /><br /></td>
 </tr>
<tr>
  <td width="90" align="right"><font face="Verdana" size="2">E-MAIL</font></td>
  <td width="140"><input name="mail" type="text" id="mail" value="" size="15" align="middle onfocus="if() this.value='';" /><br /><br /></td>
 </tr>
 <tr>
  <td colspan="2" height="60" align="center">
<input name="registra" width=80 type="submit" value="REGISTRATI" align=middle onclick="check()">
<input name="reset" type="reset" value="ANNULLA" width=80  align=middle>
  </td>
 </tr>
</table>
</form>
</div>
</body>
</html>

Lo script che ho aggiunto è questo:

PHP:
$query=mysql_query("SELECT id FROM utenti LIMIT 10");
$utenti=mysql_num_rows($query);
if($utenti < 10){
//esegui la registrazione
}else{
echo "<center><b><h3>SUPERATO IL LIMITE UTENTI REGISTRATI</h3></b></center><br><br>";
}

Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per forza registra sempre, hai messo la condizione

SELECT id FROM utenti LIMIT 10");

per cui sei sempre entro i 10 anche se i record effettivi sono di più

togli LIMIT 10
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ho provato a lasciare LIMIT 10 e a mettere al posto di else DIE e mi funzia benissimo.
Magari era un'alternativa...perchè togliere il limite 10?

Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
perchè togliere il limite 10?
perchè se wuoi limitare ad un massimo di 10 risulta (se lasci limt 10) per esempio:
1. se i record sono 5 la query estrae solo 5 record e mysql_num_rows($query) restituisce 5
2. se i record sono 20 la query ne estrae i primi 10 e mysql_num_rows ritorna 10, e sempre 10 anche se sono 30 o 40 o.....
 
Discussioni simili
Autore Titolo Forum Risposte Data
ges Microsoft ACCESS oltre ogni limite (tre manuali) Altri Annunci 2
M [PHP] Imposta limite giornaliero PHP 1
P [Java] limite destro di un JFrame Java 5
L php - limite di memoria PHP 1
Z Limite invio newsletter con PHP - mail() PHP 4
Shyson [WordPress] Mettere un limite a lunghezza caratteri WordPress 11
ecosito Limite di 1 tweet sul Plugin di Twitter Javascript 2
L Limite lunghezza $_POST ??? PHP 1
G Limite di "grandezza" per cui non conviene più Joomla Joomla 5
Monital Query oltre il limite massimo PHP 4
Mauro Guardiani cerco webmaster per problemi reCAPTCHA e limite indirizzo ip. Offerte e Richieste di Lavoro e/o Collaborazione 0
S limite post annunci a utente ... PHP 17
A Limite minimo con countdown textarea Javascript 0
X interazione javascript e php (aggirare limite) Javascript 2
A Ciclo for su 2 colonne con limite a 10 PHP 1
M Limite massimo foto in Mooflow? Javascript 0
I Limite di peso del file in un upload di file in flash Flash 1
I Limite Recordset in update database Classic ASP 2
L limite altezza in scrollpane Flash 1
amanu86 Limite Access MS Access 1
C limite tempo script Classic ASP 2
N Vba Maschera di login MS Access 1
Shyson Codice wp-login non funziona PHP 2
L Problemi con il login PHP 2
L login e session PHP 4
A Problema login con Safari PHP 14
R Reinderizzamento dopo login PHP 2
C finestra popup dopo login PHP 2
L login con solo un codice PHP 3
Web93 PROBLEMA SITO WEB WORDPRESS - LOGIN DASHBOARD Programmazione 3
M Login Autenticazione Sviluppo app per Android 0
M Effettuare Login con dati Json Sviluppo app per Android 0
S [PHP] Stampa a video Nome e Cognome in seguito a login PHP 1
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
L [PHP] login con password_verify PHP 3
A HTML issues with creating a register and login page + general questions HTML e CSS 1
L [PHP] login con varie entrate PHP 3
L [PHP] login con password_verify - password_hash PHP 5
M [PHP] Problemi con il riconoscimento login. PHP 21
F [PHP] Login senza database PHP 3
F [php] sicurezza password form login PHP 2
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
F Problema con pagine login in PHP PHP 2
Y [PHP] Errore di login dopo aver inserito Codice AdSense PHP 0
M [PHP] Problemi con login facebook PHP 0
Shyson [WordPress] Nascondere link del Login WordPress 2
W [PHP] Login sicuro al web Service SOAP PHP 20
P [PHP] Limitare login ad un solo utente per volta PHP 12
L [PHP] login e protezione pagine con session PHP 3

Discussioni simili