Visualizzazione dei risultati da 1 a 6 su 6

Discussione: script member area

  1. #1

    script member area

    Ho scaricato questo script

    Menber Area dai tanti di questo sito.

    E' proprio quello che cercavo, MA......non capisco due cose:

    ora che c'è l'ho, come faccio a proteggere la directory "esempio" e tutti i file in essa contenuti?

    come faccio a rendere obbligatorio anche l'inserimento della email?

    Grazie!
    Giuseppe

    Mi lamentavo delle scarpe strette, poi vidi un uomo senza gambe......

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è una domanda retorica?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3

    Ho avuto una giornata pesante e forse sono poco lucido!

    Ho necessità di creare un sito semplice semplice e una formula di "iscrizione" minima e formale: lo script in questione va benissimo (
    VEDI ) solo che non capisco quanto detto prima (senza retorica).
    Voglio rendere obbligatorio l'inserimento della mail

    codice:
    <?php
    session_start();	// Maintain session state
    header("Cache-control: private");	// Fixes IE6's back button problem.
    
    // Dont allow members to go to add user page
    if(@$_SESSION['user']) header("location: login.php");
    elseif(@$_POST['user']){
    	// Get and set vars (without html characters)
    	$user = htmlspecialchars(strtolower($_POST["user"]));
    	$pass = htmlspecialchars($_POST["pass"]);
    	$permission = 0;		// Default: user, until admin changes
    	$email = htmlspecialchars($_POST["email"]);
    	$url = htmlspecialchars($_POST["url"]);
    
    	// Add dots to date
    	if($_POST["day"]) $dob = $_POST["day"]. ".". $_POST["month"]. ".". $_POST["year"];
    	else $dob = false;
    
    	$location = htmlspecialchars($_POST["location"]);
    	$joined = $_POST["joined"];
    
    	// Create the string to append
    	$string = "\r\n". $user. "<del>". md5($pass). "<del>". $permission. "<del>". $email. "<del>". $url. "<del>". $dob. "<del>". $location. "<del>". $joined;
    
    	// Make sure username doesn't already exist
    	//-----------------------------------------
    	// Include the flat-file
    	$file = file("users.php") or die("Problem getting the user details flat-file [users.php]");
    
    	// Get the size of file
    	$totalLines = sizeof($file);
    
    	// Get the users details line by line
    	$line = 0;
    	$match = 0;
    	do{
    		// Check the line isn't a comment
    		if("//" != substr($file[$line], 0, 2)){
    			// Break our records up
    			@list($username, $password, $permission, $email, $url, $dob, $location, $joined) = explode("<del>", $file[$line]);
    
    			// Check the username and passwords match
    			if((strtolower($user) == strtolower($username))) $match = 1;
    			else $match = 0;
    		}
    
    		// Exit loop if match found
    		if($match) break;
    			
    		// Increment line count
    		$line++;
    	} while($line < $totalLines);
    
    	// Only add new user if a match is not found
    	if($match){
    	?>
    		<script language = "javascript" type = "text/javascript">
    		<!-- // Go back
    			alert("Username already taken, taking you back to choose another");
    			history.go(-1);
    		-->
    		</script>
    	<?php
    	}
    	else{
    		// Open the users file
    		$fp = fopen("users.php", "a+");
    
    		// Append the new user to end of users file
    		fwrite($fp, $string);
    
    		// Close the file
    		fclose($fp);
    
    		// Redirect to index
    		header("location: index.php?new=1");
    	}
    }
    else{
    ?>
    <html>
    <head>
    
    <link rel = "stylesheet" type = "text/css" href = "style.css">
    <title>members area: mike holloway</title>
    </head>
    <body onload = "document.getElementById('user').focus();">
    <form method = "post" action = "<?php print($_SERVER['PHP_SELF']); ?>">
    <table border = "0" cellspacing = "0" cellpadding = "10" width = "50%" align = "center" style = "height: 100%;">
    	<tr>
    		<td colspan = "3" valign = "bottom">
    			<span class = "bold">join our member list!</span>	
    
    			<span class = "hilight">hilighted text are required fields</span>
    		</td>
    	</tr>
    	<tr>
    		<td colspan = "3" height = "5%">
    			<a href = "index.php">back</a>
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			<span class = "hilight">username:</span>
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "text" id = "user" name = "user" style = "width: 80%" class = "text" tabindex = "1">
    		</td>
    		<td rowspan = "7" width = "16" height = "16" align = "right" valign = "bottom">
    			<input type = "hidden" name = "joined" value = "<?php print(date("d.m.Y H:i:s", mktime())); ?>">
    			<input type = "Image" src = "next.gif" width  = "16" height = "16" name = "submit" alt = "arrow pointing right: next" border = "0" align = "top" onfocus = "return checkFields();" tabindex = "10"></a>
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			<span class = "hilight">password:</span>
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "password" id = "pass" name = "pass" style = "width: 80%" class = "text" tabindex = "2">
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			<span class = "hilight"> confirm password:</span>
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "password" id = "pass2" name = "pass2" style = "width: 80%" class = "text" tabindex = "3">
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			email:
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "text" id = "email" name = "email" style = "width: 80%" class = "text" tabindex = "4">
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			http://
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "text" id = "url" name = "url" style = "width: 80%" class = "text" tabindex = "5">
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			date of birth:
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<span class = "bold">d: </span><input type = "text" id = "day" name = "day" size = "2" class = "text"  maxlength = "2" tabindex = "6"> <span class = "bold">m: </span><input type = "text" id = "month" name = "month" size = "2" class = "text"  maxlength = "2" tabindex = "7"> <span class = "bold">y: </span><input type = "text" id = "year" name = "year" size = "4" class = "text"  maxlength = "4" tabindex = "8">
    		</td>
    	</tr>
    	<tr>
    		<td width = "30%" height = "10" valign = "bottom">
    			location:
    		</td>
    		<td width = "70%" height = "10" valign = "bottom">
    			<input type = "text" id = "location" name = "location" style = "width: 80%" class = "text" tabindex = "9">
    		</td>
    	</tr>
    	<tr>
    		<td colspan = "3" valign = "top">
    			
    		</td>
    	</tr>
    </table>
    </form>
    
    <script language = "javascript" type = "text/javascript">
    <!--// Check field values are correct before submitting
    	function checkFields(){
    		var flag = 1;	// Return flag
    
    		// Check for empty values in important fields first
    		if(!document.getElementById("user").value || !document.getElementById("pass").value || !document.getElementById("pass2").value){
    			alert("Please enter values in the following:\n\nUSERNAME\nPASSWORD\nCONFIRM PASSWORD");
    			document.getElementById("user").focus();
    			return true;
    		}
    		// Check that passwords are the same
    		else if(document.getElementById("pass").value != document.getElementById("pass2").value){
    			alert("Please enter two matching passwords");
    			document.getElementById("pass").value = '';
    			document.getElementById("pass2").value = '';
    			document.getElementById("pass").focus();
    			return true;
    		}
    		// Check the day / month / year fields if there's a value in one of them
    		else if(document.getElementById("day").value || document.getElementById("month").value || document.getElementById("year").value){
    
    			// Check day first
    			if((isNaN(document.getElementById("day").value)) || (document.getElementById("day").value > 31) || (document.getElementById("day").value < 1)){
    			alert("Please enter a valid day in the DOB field");
    			document.getElementById("day").value = '';
    			document.getElementById("day").focus();
    			return true;
    			}
    			// Check month next
    			else if((isNaN(document.getElementById("month").value)) || (document.getElementById("month").value > 12) || (document.getElementById("month").value < 1)){
    				alert("Please enter a valid month in the DOB field");
    				document.getElementById("month").value = '';
    				document.getElementById("month").focus();
    				return true;
    			}
    			// Finally the year
    			else if((isNaN(document.getElementById("year").value)) || (document.getElementById("year").value >= <?php print date("Y", mktime()); ?>) || (document.getElementById("year").value < 1)){
    				alert("Please enter a valid year in the DOB field");
    				document.getElementById("year").value = '';
    				document.getElementById("year").focus();
    				return true;
    			}
    			else flag = 0;
    		}
    		else flag = 0;
    
    		// One final check if the others went through fine
    		if(!flag){
    			if(document.getElementById("email").value){
    				// Finally, check the email
    				if(document.getElementById("email").value.indexOf("@") == -1 || document.getElementById("email").value.indexOf(".") == -1){
    					alert("If entering an email addy, please make sure it is valid");
    					document.getElementById("email").focus();
    					return true;
    				}
    				else return false;
    			}
    			else return false;
    		}
    	}
    -->
    </script>
    </body>
    </html>
    <?php
    }
    ?>
    Giuseppe

    Mi lamentavo delle scarpe strette, poi vidi un uomo senza gambe......

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    codice:
    // Check for empty values in important fields first
    		if(!document.getElementById("user").value || !document.getElementById("pass").value || !document.getElementById("pass2").value || !document.getElementById("email").value){
    			alert("Please enter values in the following:\n\nUSERNAME\nPASSWORD\nCONFIRM PASSWORD");
    			document.getElementById("user").focus();
    			return true;
    		}
    pe ril primo problema invece fai una ricerca sui file .htaccess
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Stavo per scrivere che avevo capito cosa correggere, ma la tua tempestività è stata folgorante......

    Volevo solo aggiungere che l'unica parte di admin di tutto lo script decanta:

    codice:
    You're in the admin section of the site. You could put whatever you wanted the admin's of your site to see in here. You dont have to stick to this layout either, as long as you have got the following in the top of your files:
    
    <?php
    session_start();
    ?>
    
    You can then call the users details by using the following anywhere in your template:
    
    <?php print $_SESSION['user']; ?>
    <?php print $_SESSION['pass']; ?>
    <?php print $_SESSION['permission']; ?>
    <?php print $_SESSION['email']; ?>
    <?php print $_SESSION['url']; ?>
    <?php print $_SESSION['dob']; ?>
    <?php print $_SESSION['location']; ?>
    <?php print $_SESSION['joined']; ?>
    
    
    By using conditions, you could decide on who sees what. Look at the following examples:
    
    <?php
    if(!$_SESSION['permission']) # Display text for 'users' only
    elseif($_SESSION['permission'] == 1) # Display text for 'mods' only
    elseif($_SESSION['permission'] > 1) # Display text for 'admins' only
    #etc.
    ?>
    ma poco ci capisco per proteggere pagine e/o directory......
    Giuseppe

    Mi lamentavo delle scarpe strette, poi vidi un uomo senza gambe......

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.