• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Marktplaats
  4. (ver)Koop scripts

Forum

  • Ictscripters Chat

    Frenzo.Brouwer 9 maart 2026 om 21:31
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09

Marktplaats

  • Heel wat sterke domeinen > 2 letters, 3 letters, premiums

    Michael DW 11 maart 2026 om 12:12
  • 367 Nieuwe Domeinnamen Februari 2026

    shiga 1 maart 2026 om 14:50
  • Meerdere mafia game template te koop

    Syntax 16 februari 2026 om 13:34

Registratie (form) [free]

  • Patrick
  • 14 mei 2009 om 22:07
  • Closed
  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 14 mei 2009 om 22:07
    • #1

    Ik ben bezig om classes te leren en daarmee heb ik een registratie script gemaakt misschien heeft er iemand nog nut van:

    index.php:

    PHP
    include "register.class.php";
    include "config.php";
    $class = new register();
    
    
    if (!isset($_POST['submit'])) {
    	$class->register_create_form();
    }
    	$class->register_check();
    }
    ?>
    Toon Meer

    register.class.php:

    PHP
    <?php
    error_reporting(E_ALL);
    class register 
    	{
    	
    	function register_check()
    		{
    			$name = "";
    			$password = "";
    			$pass_match = "";
    			$email = "";
    			
    			if ((isset($_POST['name'])) &&  (isset($_POST['password'])) && (isset($_POST['pass_match'])) && (isset($_POST['test']))) { 					
    				$name = safe_sql($_POST['name']);
    				$password = safe_sql($_POST['password']); 
    				$pass_match = safe_sql($_POST['pass_match']);
    				$email = safe_sql($_POST['test']);
    					
    				if ($password != $pass_match) {
    					$this->message("Passwords didnt match.");
    				}
    				else {
    					$query = mysql_query("SELECT username FROM users WHERE username='{$name}'") or die($this->message("sql error"));
    					$row = mysql_num_rows($query);
    		
    					if ($row > 0) { $this->message("Username already taken."); }
    					else {
    						$query = mysql_query("SELECT email FROM users WHERE email='{$email}'") or die($this->message("sql error"));
    						$row = mysql_num_rows($query);
    		
    						if ($row > 0) { $this->message("email adress already taken."); }
    						else {
    						$pass = md5($password);
    						$sql = "INSERT INTO users (user_id, username, password, email) VALUES (null, '{$name}', '{$pass}', '{$email}')";
    						mysql_query($sql) or die($this->message("sql error"));
    						$this->message("Registration succesfull.");
    						}
    					}
    				}
    			}
    			else {
    				$this->message("Not all fields were filled.");
    			}
    		}
    		function register_create_form ()
    			{
    			echo('
    			<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
    			<p>Username: <input type="text" name="name" size="20"><br>
    			Password: <input type="text" name="password" size="20"><br>
    			Repeat password: <input type="text" name="pass_match" size="20"><br>
    			Email address: <input type="text" name="test" size="20"><br>
    			<input type="submit" value="Submit" name="submit"><input type="reset" value="Reset" name="rest"></p>
    			</form>
    			');
    		}
    		function message($text) 
    			{
    				echo($text);
    		}
    }
    
    
    function safe_sql ($text) 
    	{
    	return htmlspecialchars(mysql_real_escape_string($text)); 
    }
    
    
    ?>
    Toon Meer

    en dan nog config.php:

    PHP
    $config = array();
    $config['host'] = "localhost";
    $config['database'] = "xxxx";
    $config['username'] = "xxxx";
    $config['password'] = "xxxx";
    
    
    
    
    if (($config["host"]) && ($config["database"]) && ($config["username"]) && ($config["password"])) {
    	mysql_connect($config["host"],$config["username"], $config["password"]) or die(mysql_error());
    	mysql_select_db($config["database"]) or die(mysql_error());
    }
    else {
    	die("Configuration failed.");
    }
    Toon Meer

    commetaar op het script mag geleverd worden mits ik er ook echt is aan heb ;)

  • Niels
    -1
    Berichten
    1.360
    • 14 mei 2009 om 22:20
    • #2

    Je gebruikt ten eerste al geen addslashes waardoor je sql injecties kan gebruiken;
    Je gebruikt variabelen die niet eens hoeven. De criminals manier is om een variabele nog een keer te defineren in een variabele dat is niet de OOP manier noch in een klasse;
    HTML en PHP behoren gescheiden te blijven;

    -1

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 14 mei 2009 om 22:25
    • #3

    waarom is met addslashes injectie niet mogelijk dan? omdat het alleen van ' naar ' gaat? kan je dat uitleggen.

    variable's doe ik om zelf wat makkelijker een overzicht te houden het hoeft inderdaad niet. ik kan ook gewoon alle names veranderen in $_POST['name']

    html + php gescheiden dan moet je doormiddel van een template parser gaan werken neem ik aan?

    Nieuwe reactie samengevoegd met originele reactie op 14.05.09 22:42:16:
    edit;

    safe_sql functie toegevoegd.
    Niels nu is hij beveiligd tegen injections right?

  • Durk
    Intermediate
    Berichten
    365
    • 14 mei 2009 om 22:44
    • #4

    html + php gescheiden houden doe ik meestal zo:

    PHP
    <?php
    //iets van php
    ?>
    <html>hier je html
    desnoods echoën: <? echo iets ?></html>
    <?php
    //weer iets van php indien nodig
    ?>

    En niet:

    PHP
    <?php
    //hierlappen php
    //je html zoals
    echo 'van alles van HTML';
    ?>
  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 14 mei 2009 om 22:47
    • #5

    mjah tis ook maar testje ;)
    maar voor de rest nu ook met die nieuwe functie is er nog iets wat anders moet?

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 14 mei 2009 om 23:06
    • #6

    Je gebruikt de class nu als een verzameling van functies. Dat is niet de bedoeling, en ook niet de kracht van OOP (eigenlijk is dit dus geen OOP). Ook hebben de functies binnen je class eigenlijk geen samenhang (output en validatie).

    PHP en HTML gescheiden houden, kan inderdaad met een template parser, maar gewoonweg het in twee verschillende bestanden stoppen (Het bestand met de HTML kent enkel simpele PHP, zoals echo, while en foreach).

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Samsung zal miljoenen verdienen aan Apple iPhone Fold dankzij zijn 12GB RAM

    ICTscripters 11 maart 2026 om 22:42
  • Apple heeft zojuist iOS 26.4 Beta 4 vrijgegeven: hier is de verwachte lanceerdatum.

    ICTscripters 11 maart 2026 om 12:01
  • Kritieke kwetsbaarheid in Nginx UI bedreigt gevoelige data

    ICTscripters 10 maart 2026 om 18:29

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design