hi
hoe kun je ervoor zorgen dat je b.v
maar 10 keer een formulier kan invullen
zodat je na dat is gebeurd een melding geeft
aan inschrijvingen bereikt kan niet meer op ingeschreven worden
is dat met een form te regelen
IP opslaan in database met een extra kolom om te tellen.
een if else maken met een mysql_num_rows en kijken of de IP al in de db zit.
Zoja, UPDATE query.
Zo nee, Insert query.
en dan op de form pagina ook een if else maken
if: aantal keer op te halen gelijk aan/kleiner is dan 10
form laten zien
else message van dat ze al 10x hebben gepost

Ong zoiets dus:
submit.php

<?php

	if($_SERVER['REQUEST_METHOD'] == 'POST') {
	
		$con = mysql_connect('localhost', 'root', 'pass'); 
		
		if(!$con) {
			
			exit("Connect error: ".mysql_error());
			
		}
		
		mysql_select_db('formposts', $con);
	
		$q = "SELECT * FROM ipdata WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
		$res = mysql_query($q);

		if(!$res) {
				
			exit("Query error: ".mysql_error());
				
		}
		
		if(mysql_num_rows($res) == 0) {
			
			$q = "INSERT INTO ipdata (ip, times) VALUES('".$_SERVER['REMOTE_ADDR']."', 1)";
			$res = mysql_query($q);

			if(!$res) {
				
				exit("Query error: ".mysql_error());
				
			}
			
		} else {
		
			$q = "UPDATE ipdata SET times = times+1 WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
			$res = mysql_query($q);
			
			if(!$res) {
				
				exit("Query error: ".mysql_error());
				
			}
			
		}
	
	} else {
	
		echo "Please use the form!";

	}
?>


form pagina:

<html>
	
	<head>
	
		<title>
		
			Form
			
		</title>
	
	</head>

	<body>
		
		<?php 
		
			$q = "SELECT times FROM ipdata WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
			$res = mysql_query($q);
			
			if(!$res) {
				
				exit("Query error: ".mysql_error());
				
			}
			
			if($res =< 10) {
			
				?>
				
				<form action="submit.php" method="post">
		
					<input type="text" name="name" />
		
				</form>
				
			<?php

			} else {
			
				echo "Je hebt al 10x gepost";
			
			}
			
			?>
			
	</body>

</html>
hi
bedankt voor de snelle reactie
wat eigenlijk de bedoeling is
ik heb een ontvangstruimte waar plaats is voor b.v. 10 deelnemers
en zodra dat er 10 deelnemers zijn dat er niet meer ingeschreven kan worden
dat er een melding komt inschrijving niet meer mogelijk
Je hebt het over een RPG Game of iets, niet waar?

Wat je gewoon moet doen is:
Bij iedere inschrijving in de db zetten wie hoe laat er binnen is gekomen...
Dan voer je een query uit die telt hoeveel resultaten er zijn, zijn dit er 10 dan mag je niet meer een formulier tonen anders wel.
Ga je er uit verwijder je die regel uit je database van die persoon.
Of hij bedoelt het gewoon voor een cursus ofzo, dat er maar 10 deelnemers kunnen zijn.
ja dat bedoel ik Aar
Dan kom je op:


<?php

    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
        $con = mysql_connect('localhost', 'root', 'pass'); 
        
        if(!$con) {
            
            exit("Connect error: ".mysql_error());
            
        }
        
        mysql_select_db('formposts', $con);
    
        $q = "SELECT * FROM accdata ";
        $res = mysql_query($q);

        if(!$res) {
                
            exit("Query error: ".mysql_error());
                
        }
        
        if(mysql_num_rows($res) <= 10) {
            
            $q = "INSERT INTO accdata (IP, date) VALUES('".$_SERVER['REMOTE_ADDR']."', NOW())";
            $res = mysql_query($q);

            if(!$res) {
                
                exit("Query error: ".mysql_error());
                
            }
            
    
    } else {
    
        echo "Graag het formulier gebruiken!";

    }
?> 


en form:

<html>
    
    <head>
    
        <title>
        
            Form
            
        </title>
    
    </head>

    <body>
        
        <?php 
        
            $q = "SELECT times FROM ipdata";
            $res = mysql_query($q);
            
            if(!$res) {
                
                exit("Query error: ".mysql_error());
                
            }
            
			$num = mysql_num_rows($res);
			
            if($num <= 10) {
            
                ?>
                
                <form action="submit.php" method="post">
        
                    <input type="text" name="name" />
        
                </form>
                
            <?php

            } else {
            
                echo "er zijn al 10 entries!";
            
            }
            
            ?>
            
    </body>

</html>

bedankt voor de snelle hulp
en dan moet er twee mailtjes worden verstuurd
1 naar mijzelf en een naar diegene die hem heeft ingevuld
kan dat in dezelfde form

Reageren