|
You last visited: Today at 01:36
Advertisement
[Help] Register Page Mysql
Discussion on [Help] Register Page Mysql within the CO2 Private Server forum part of the Conquer Online 2 category.
01/07/2014, 10:10
|
#1
|
elite*gold: 0
Join Date: Feb 2007
Posts: 42
Received Thanks: 5
|
[Help] Register Page Mysql
Greetings is been long time since I post here in the community. I was wondering if someone could help me out here, I am trying to edit a web page downloaded from elitepvpers (I searched for it and got a lot of sources but only one is doing what i really want which is a registration that identifies if the username exists or not and anti inject proof, as far as i know this one those the check for existing usernames, dont know about injection.) I have tried all possible ways including google, and even make up commands for mysql php codes and got nothing, the page loads but it wont send the values to the database.
PHP Code:
<?php
require_once('recaptchalib.config.php');
require_once('recaptchalib.php');
require_once('db.config.php');
$user_ip = $_SERVER['IP'];
$username = isset($_POST['Username']) ? trim($_POST['Username']) : '';
$password = isset($_POST['Password']) ? trim($_POST['Password']) : '';
$password2 = isset($_POST['Password']) ? trim($_POST['Password']) : '';
$errors = array();
$success = false;
// Process the POST data.
if(isset($_POST) && !empty($_POST)){
// Validate user name.
if(empty($username)){
$errors[] = 'Please provide a user name.';
}else if(strlen($username) < 3 || strlen($username) > 16){
$errors[] = 'User name must be between 3 and 16 characters in length.';
}else if(ctype_alnum($username) === false){
$errors[] = 'User name must consist of numbers and letters only.';
}else{
// Check if username already exists in the database.
$sql = "SELECT Username FROM 'accounts' WHERE Username = ?";
$stmt = mysql_query($GLOBALS['dbConn'],$sql);
$args = array($username);
if(!mysql_query($stmt,$args)){
$errors[] = 'Failed to determine if this username already exists in the database.';
}elseif($row = mysql_query($stmt)){
$errors[] = 'User name already exists, please choose a different user name.';
}
}
// Validate user password.
if(empty($password)){
$errors[] = 'Please provide a password.';
}else if(strlen($password) < 3 || strlen($password) > 16){
$errors[] = 'Password must be between 3 and 16 characters in length.';
}else if($password != $password2){
$errors[] = 'Passwords do not match.';
}
// Validate reCAPTCHA. This is to prevent someone botting account creation.
$response = recaptcha_check_answer($recaptcha_private_key,$_SERVER['REMOTE_ADDR'],$_POST['recaptcha_challenge_field'],$_POST['recaptcha_response_field']);
if(!$response->is_valid){
if($response->error == 'incorrect-captcha-sol'){
$errors['recaptcha'] = 'Incorrect answer to reCAPTCHA';
}else{
$errors['recaptcha'] = $response->error;
}
}
// Persist the new account to the database if no previous errors occured.
if(count($errors) == 0){
$sql = "INSERT INTO 'accounts'
(Username,Password,IP)
VALUES (?,?,GETDATE(),0,0,0,0,0,GETDATE(),'N',0,'',?)";
$stmt = mysql_connect($GLOBALS['dbConn'],$sql);
$args = array($username,$password,$user_ip);
if(mysql_connect($stmt,$args)){
$success = htmlentities("Account {$username} successfully created!");
}else{
// This means the insert statement is probably not valid for your database. Fix the query or fix your database, your choice ;)
$errors[] = 'Failed to create a new account, please try again later';
}
}
}
?>
If anyone please be so kind. db.config.php contains the database connection details, i know the one that needs to be fixed is this .php file to be launched
Thanks in advance.
P.S- Yes i have tried all the search results I get.
|
|
|
01/07/2014, 11:27
|
#2
|
elite*gold: 0
Join Date: May 2009
Posts: 86
Received Thanks: 15
|
I'm working on a script right now ( PDO ). If you are not in rush I might share it with you.
(Easy to use and secure)
|
|
|
01/07/2014, 16:17
|
#3
|
elite*gold: 130
Join Date: Oct 2007
Posts: 1,655
Received Thanks: 705
|
Here is one I wrote for
Code:
<?php
class DBClass {
public $db;
function __construct() {
$host = "localhost";
$db = "ProjectX_Auth_DB";
try{
$this->db = new PDO("sqlsrv:Server=".$host.";Database=".$db);
$this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}catch(PDOException $e){
var_dump($e);
}
}
}
Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
session_start();
require "dbclass.php";
class Register extends DBClass {
private $username;
private $password;
private $passwordRepeat;
private $useCaptcha = true;
private $captcha;
private $accountTable = "DB_Accounts";
private $returnAddress = "http://insomnius-co.com/register/";
// min length
private $unLengthMin = 4; // minimum username length
private $pLengthMin = 4; // minimum password length
private $unLengthMax = 16; // maximum username length
private $pLengthMax = 16; // maximum password length
function __construct($username, $password, $passwordRepeat, $captcha = "") {
parent::__construct();
$_SESSION['registerform']['messages'] = array();
$this->username = $username;
$this->password = $password;
$this->passwordRepeat = $passwordRepeat;
$this->captcha = $captcha;
$this->checkFieldRequirements();
}
function checkFieldRequirements() {
$_SESSION['registerform']['messages'] = array();
$pattern = '^[a-zA-Z0-9]+$^';
$matches = '';
preg_match($pattern, $this->username, $matches);
if(strlen($this->username) < $this->unLengthMin) {
$_SESSION['registerform']['messages'][] = "The length of the username is too short, please choose another.";
}
else if(strlen($this->username) > $this->unLengthMax) {
$_SESSION['registerform']['messages'][] = "The length of the username is too long, please choose another.";
}
else if(count($matches) == 0) {
$_SESSION['registerform']['messages'][] = "Invalid characters in username";
}
else if($this->username_exists()) {
$_SESSION['registerform']['messages'][] = "The selected username already exists, please choose another.";
}
unset($matches);
preg_match($pattern, $this->password, $matches);
if(strlen($this->password) < $this->pLengthMin) {
$_SESSION['registerform']['messages'][] = "The length of the password is too short, please choose another.";
}
else if(strlen($this->password) > $this->pLengthMax) {
$_SESSION['registerform']['messages'][] = "The length of the password is too long, please choose another.";
}
else if($this->password != $this->passwordRepeat) {
$_SESSION['registerform']['messages'][] = "The passwords do not match one another.";
}
else if(count($matches) == 0) {
$_SESSION['registerform']['messages'][] = "Invalid characters in password";
}
if($this->useCaptcha) {
if(strtolower($_SESSION['captcha']) != strtolower($this->captcha)) {
$_SESSION['registerform']['messages'][] = "The captcha is incorrect.";
}
}
if(count($_SESSION['registerform']['messages']) == 0) {
$this->register();
}
header("Location: ".$this->returnAddress);
}
function username_exists() {
$query = $this->db->prepare("SELECT COUNT(*) FROM ".$this->accountTable." WHERE AccountName= ?");
$query->bindValue(1, $this->username);
try{
$query->execute();
$rows = $query->fetchColumn();
if($rows == 1){
return true;
}
return false;
} catch (PDOException $e){
die($e->getMessage());
return false;
}
}
function register() {
$accountBanned = 0;
$ip = $_SERVER['REMOTE_ADDR'];
$accountServer = 0;
echo $this->username;
$query = $this->db->prepare("INSERT INTO ".$this->accountTable." (AccountName, AccountPassword, AccountBanned, AccountRegIP, AccountLastLoginIP, AccountServer) VALUES (?, ?, ?, ?, ?, ?) ");
$query->bindValue(1, $this->username);
$query->bindValue(3, $accountBanned);
$query->bindValue(2, $this->password);
$query->bindValue(4, $ip);
$query->bindValue(5, $ip);
$query->bindValue(6, $accountServer);
try{
$query->execute();
$_SESSION['registerform']['messages'][] = "Account is successfully registered";
} catch(PDOException $e){
die($e->getMessage());
}
}
}
new Register($_POST['username'], $_POST['password'], $_POST['passwordRepeat'], $_POST["captcha"]);
|
|
|
01/07/2014, 16:27
|
#4
|
elite*gold: 0
Join Date: Feb 2007
Posts: 42
Received Thanks: 5
|
Gerculy, thanks, Looking forward to see what you came up with. I have no rush.
turk55, I will try it as soon as I get home, is it ok if I PM you if I run into issues?
|
|
|
01/07/2014, 16:34
|
#5
|
elite*gold: 130
Join Date: Oct 2007
Posts: 1,655
Received Thanks: 705
|
Quote:
Originally Posted by Beb0mn
Gerculy, thanks, Looking forward to see what you came up with. I have no rush.
turk55, I will try it as soon as I get home, is it ok if I PM you if I run into issues?
|
Sure and I just took a look on your script, at the username check you basically say if I can run the query the username exists. This is not how you should do it.
Code:
}elseif($row = mysql_query($stmt)){
$errors[] = 'User name already exists, please choose a different user name.';
}
Try this instead :
Code:
}elseif($row = mysql_query($stmt)){
if(mysql_num_rows($row) > 0) {
$errors[] = 'User name already exists, please choose a different user name.';
}
}
Not to mention you are using a question mark ("?") at the query but you are not filling it in any way plus the question mark is only used at prepared statements (the regular mysql library does not support prepared statements, mysqli does).
$sql = "SELECT Username FROM 'accounts' WHERE Username = ?";
TO:
$sql = "SELECT Username FROM 'accounts' WHERE Username = \"".$username."\"";
|
|
|
01/07/2014, 16:41
|
#6
|
elite*gold: 0
Join Date: May 2009
Posts: 86
Received Thanks: 15
|
Here's my  ( Little simpler compared to Insomnius one's )
Config ..
Code:
define('DB_TYPE', 'mysql');
define('DB_HOST', 'localhost');
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASS', '');
class Database extends PDO {
public function __construct() {
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ);
parent::__construct(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, $options);
}
}
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
Register Page [ PHP + HTML ]
Code:
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['Password1'],$_POST['Password2']) && $_POST['Password1']!=$_POST['Password2']) {
echo 'Your password confirmation is not equal to your password';
} else {
if (!$_POST['Realname'] ||
!$_POST['Username'] ||
!$_POST['Password1'] ||
!$_POST['Password2'] ||
!$_POST['Email']||
!$_POST['Country'] ||
!$_POST['City'] ||
!$_POST['Recoverypassword'] ) {
echo "<p>Please supply all of the data!</p>";
exit;
} else {
try {
$dbh = new Database();
$stmt = $dbh->prepare('SELECT * FROM accounts WHERE Username=?');
$stmt->bindParam(1, $_POST['Username'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$Realname = "$_POST[Realname]";
$Realname = stripslashes_deep($Realname);
$Username = "$_POST[Username]";
$Username = stripslashes_deep($Username);
$Password1 = "$_POST[Password1]";
$Password1 = stripslashes_deep($Password1);
$Password2 = "$_POST[Password2]";
$Password2 = stripslashes_deep($Password2);
$Email = "$_POST[Email]";
$EMail = stripslashes_deep($Email);
$Country = "$_POST[Country]";
$Country = stripslashes_deep($Country);
$City = "$_POST[City]";
$City = stripslashes_deep($City);
$Recoverypassword = "$_POST[Recoverypassword]";
$Recoverypassword = stripslashes_deep($Recoverypassword);
$Regdate = date("Y-m-d");
if( ! $row)
{
$dbh = new Database();
$query = $dbh->prepare("insert into accounts (Username,Password,Email,Country,City,secretquestion,realname,Regdate)
values (:Username,:Password,:Email,:Country,:City,:secretquestion,:realname,:Regdate)");
$data = array(
':Username' => "$Username",
':Password' => "$Password1",
':Email' => "$Email",
':Country' => "$Country",
':City' => "$City",
':secretquestion' => "$Recoverypassword",
':realname' => "$Realname",
':Regdate' => "$Regdate"
);
$query->execute($data);
echo "<p>Yout account was created successfully. Check your e-mail.</p>";
$dbh = null;
} else {
echo"<div class=\"alert alert-danger\">This <u>ACCOUNT ID</u> (<b> $Username </b>) already exists. Please choose other.!</div>";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
}
} else {
?>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form role="form" method="POST" name="form" action="/index.php?page=1">
<div class="form-group">
<label for="TextInput">Real name:</label>
<input name="Realname" type="text" class="form-control" placeholder="Enter your full name." required>
</div>
<div class="form-group">
<label for="TextInput">Country :</label>
<select id="Country" name="Country" class="form-control" required>
<option value="" selected="selected">Select Country</option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="Netherlands Antilles">Netherlands Antilles</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Helena">Saint Helena</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia and Montenegro">Serbia and Montenegro</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela">Venezuela</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div class="form-group">
<label for="TextInput">City :</label>
<input name="City" type="text" class="form-control" placeholder="Enter your city name." required>
</div>
<div class="form-group">
<label for="InputEmail1">Email address</label>
<input name="Email" type="email" class="form-control" id="InputEmail1" placeholder="Enter your email" required>
</div>
<div class="form-group">
<label for="TextInput">Account :</label>
<input name="Username" type="text" class="form-control" placeholder="Enter your Account ID." required>
</div>
<div class="form-group">
<label for="InputPassword1">Password</label>
<input name="Password1" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="InputPassword1">Password (Again)</label>
<input name="Password2" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="TextInput">Recovery Password (4 Digits)</label>
<input name="Recoverypassword" type="text" class="form-control" placeholder="Text input" maxlength="4" required>
<span class="help-block">Used to recovery your password. (Will be sent by email.)</span>
</div>
<div class="checkbox">
<label>
<input type="checkbox" required> Do accept TOS ?
</label>
</div>
<button name="submit" id="submit" type="submit" class="btn btn-default">Create Account</button>
</form>
</div>
</div>
<?php
}
?>
It looks like this if you use Bootstrap.
Bootstrap CDN
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
|
|
01/07/2014, 20:39
|
#7
|
elite*gold: 0
Join Date: Feb 2007
Posts: 42
Received Thanks: 5
|
Quote:
Originally Posted by turk55
Sure and I just took a look on your script, at the username check you basically say if I can run the query the username exists. This is not how you should do it.
Code:
}elseif($row = mysql_query($stmt)){
$errors[] = 'User name already exists, please choose a different user name.';
}
Try this instead :
Code:
}elseif($row = mysql_query($stmt)){
if(mysql_num_rows($row) > 0) {
$errors[] = 'User name already exists, please choose a different user name.';
}
}
Not to mention you are using a question mark ("?") at the query but you are not filling it in any way plus the question mark is only used at prepared statements (the regular mysql library does not support prepared statements, mysqli does).
$sql = "SELECT Username FROM 'accounts' WHERE Username = ?";
TO:
$sql = "SELECT Username FROM 'accounts' WHERE Username = \"".$username."\"";
|
So all the other commands are ok except for the '?'? That source was from obdc database and i tried to change it to mysql. I dont know if the mysql calls are ok. I will do your sugestion as soon as i can.
Quote:
Originally Posted by Gerculy
Here's my  ( Little simpler compared to Insomnius one's )
Config ..
Code:
define('DB_TYPE', 'mysql');
define('DB_HOST', 'localhost');
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASS', '');
class Database extends PDO {
public function __construct() {
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ);
parent::__construct(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, $options);
}
}
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
Register Page [ PHP + HTML ]
Code:
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['Password1'],$_POST['Password2']) && $_POST['Password1']!=$_POST['Password2']) {
echo 'Your password confirmation is not equal to your password';
} else {
if (!$_POST['Realname'] ||
!$_POST['Username'] ||
!$_POST['Password1'] ||
!$_POST['Password2'] ||
!$_POST['Email']||
!$_POST['Country'] ||
!$_POST['City'] ||
!$_POST['Recoverypassword'] ) {
echo "<p>Please supply all of the data!</p>";
exit;
} else {
try {
$dbh = new Database();
$stmt = $dbh->prepare('SELECT * FROM accounts WHERE Username=?');
$stmt->bindParam(1, $_POST['Username'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$Realname = "$_POST[Realname]";
$Realname = stripslashes_deep($Realname);
$Username = "$_POST[Username]";
$Username = stripslashes_deep($Username);
$Password1 = "$_POST[Password1]";
$Password1 = stripslashes_deep($Password1);
$Password2 = "$_POST[Password2]";
$Password2 = stripslashes_deep($Password2);
$Email = "$_POST[Email]";
$EMail = stripslashes_deep($Email);
$Country = "$_POST[Country]";
$Country = stripslashes_deep($Country);
$City = "$_POST[City]";
$City = stripslashes_deep($City);
$Recoverypassword = "$_POST[Recoverypassword]";
$Recoverypassword = stripslashes_deep($Recoverypassword);
$Regdate = date("Y-m-d");
if( ! $row)
{
$dbh = new Database();
$query = $dbh->prepare("insert into accounts (Username,Password,Email,Country,City,secretquestion,realname,Regdate)
values (:Username,:Password,:Email,:Country,:City,:secretquestion,:realname,:Regdate)");
$data = array(
':Username' => "$Username",
':Password' => "$Password1",
':Email' => "$Email",
':Country' => "$Country",
':City' => "$City",
':secretquestion' => "$Recoverypassword",
':realname' => "$Realname",
':Regdate' => "$Regdate"
);
$query->execute($data);
echo "<p>Yout account was created successfully. Check your e-mail.</p>";
$dbh = null;
} else {
echo"<div class=\"alert alert-danger\">This <u>ACCOUNT ID</u> (<b> $Username </b>) already exists. Please choose other.!</div>";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
}
} else {
?>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form role="form" method="POST" name="form" action="/index.php?page=1">
<div class="form-group">
<label for="TextInput">Real name:</label>
<input name="Realname" type="text" class="form-control" placeholder="Enter your full name." required>
</div>
<div class="form-group">
<label for="TextInput">Country :</label>
<select id="Country" name="Country" class="form-control" required>
<option value="" selected="selected">Select Country</option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="Netherlands Antilles">Netherlands Antilles</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Helena">Saint Helena</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia and Montenegro">Serbia and Montenegro</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela">Venezuela</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div class="form-group">
<label for="TextInput">City :</label>
<input name="City" type="text" class="form-control" placeholder="Enter your city name." required>
</div>
<div class="form-group">
<label for="InputEmail1">Email address</label>
<input name="Email" type="email" class="form-control" id="InputEmail1" placeholder="Enter your email" required>
</div>
<div class="form-group">
<label for="TextInput">Account :</label>
<input name="Username" type="text" class="form-control" placeholder="Enter your Account ID." required>
</div>
<div class="form-group">
<label for="InputPassword1">Password</label>
<input name="Password1" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="InputPassword1">Password (Again)</label>
<input name="Password2" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="TextInput">Recovery Password (4 Digits)</label>
<input name="Recoverypassword" type="text" class="form-control" placeholder="Text input" maxlength="4" required>
<span class="help-block">Used to recovery your password. (Will be sent by email.)</span>
</div>
<div class="checkbox">
<label>
<input type="checkbox" required> Do accept TOS ?
</label>
</div>
<button name="submit" id="submit" type="submit" class="btn btn-default">Create Account</button>
</form>
</div>
</div>
<?php
}
?>
It looks like this if you use Bootstrap.
Bootstrap CDN
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
Sorry for the lack of knowledge, Do i add the bootstrap code on top of the php code in the same register page? Like style html code in html?
My thoughts are that i should since the register page is not making a call to a bootstrap.php, i just want to make sure.
Edit = I just realized everything goes in 1 uniqur register.php page. Nevermind the dumb question. I'm still wondering about the one below.
Also sorry for the demands, is it anti injection?
|
|
|
01/07/2014, 21:01
|
#8
|
elite*gold: 0
Join Date: May 2009
Posts: 86
Received Thanks: 15
|
Quote:
Originally Posted by Beb0mn
Is it anti injection?
|
I did my best... Shouldn't have problems with it.
( A good hacker hacks anything  )
|
|
|
01/07/2014, 22:54
|
#9
|
elite*gold: 0
Join Date: Feb 2007
Posts: 42
Received Thanks: 5
|
Ok this is what i have done so far
For the register.php that contains the form
PHP Code:
<?php
define('DB_TYPE', 'mysql');
define('DB_HOST', '');
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASS', '');
class Database extends PDO {
public function __construct() {
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ);
parent::__construct(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, $options);
}
}
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
?>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form role="form" method="POST" name="form" action="/registration/registersucessfull.php?page=1">
<div class="form-group">
<label for="TextInput">Account :</label>
<input name="Username" type="text" class="form-control" placeholder="Enter your Account ID." required>
</div>
<div class="form-group">
<label for="InputPassword1">Password</label>
<input name="Password" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="InputPassword1">Password (Again)</label>
<input name="Password2" type="password" class="form-control" id="InputPassword1" placeholder="Password" required>
</div>
<div class="form-group">
<label for="InputEmail1">Email address</label>
<input name="Email" type="email" class="form-control" id="InputEmail1" placeholder="Enter your email" required>
</div>
<div class="form-group">
<label for="TextInput">Recovery Password (4 Digits)</label>
<input name="Recoverypassword" type="text" class="form-control" placeholder="Text input" maxlength="4" required>
<span class="help-block">Used to recovery your password. (Will be sent by email.)</span>
</div>
<div class="form-group">
<label for="TextInput">Country :</label>
<select id="Country" name="Country" class="form-control" required>
<option value="" selected="selected">Select Country</option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="Netherlands Antilles">Netherlands Antilles</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Helena">Saint Helena</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia and Montenegro">Serbia and Montenegro</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela">Venezuela</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div class="form-group">
<label for="TextInput">City :</label>
<input name="City" type="text" class="form-control" placeholder="Enter your city name." required>
</div>
<button name="submit" id="submit" type="submit" class="btn btn-default">Create Account</button>
</form>
</div>
</div>
<?php
?>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
I can fill out the information and then after the submit button is pressed he calls this page - registersucessfull.php
PHP Code:
<?php
define('DB_TYPE', 'mysql');
define('DB_HOST', '');
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASS', '');
class Database extends PDO {
public function __construct() {
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ);
parent::__construct(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, $options);
}
}
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
?>
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['Password1'],$_POST['Password2']) && $_POST['Password1']!=$_POST['Password2']) {
echo 'Your password confirmation is not equal to your password';
} else {
if (!$_POST['Realname'] ||
!$_POST['Username'] ||
!$_POST['Password'] ||
!$_POST['Password2'] ||
!$_POST['Email']||
!$_POST['Country'] ||
!$_POST['City'] ) {
echo "<p>Please supply all of the data!</p>";
exit;
} else {
try {
$dbh = new Database();
$stmt = $dbh->prepare('SELECT * FROM accounts WHERE Username=?');
$stmt->bindParam(1, $_POST['Username'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$Username = "$_POST[Username]";
$Username = stripslashes_deep($Username);
$Password1 = "$_POST[Password]";
$Password1 = stripslashes_deep($Password1);
$Password2 = "$_POST[Password2]";
$Password2 = stripslashes_deep($Password2);
$Email = "$_POST[Email]";
$EMail = stripslashes_deep($Email);
$Country = "$_POST[Country]";
$Country = stripslashes_deep($Country);
$City = "$_POST[City]";
$City = stripslashes_deep($City);
$Recoverypassword = "$_POST[SecurityCode]";
$Recoverypassword = stripslashes_deep($Recoverypassword);
$Regdate = date("Y-m-d");
if( ! $row)
{
$dbh = new Database();
$query = $dbh->prepare("insert into accounts (Username,Password,Email,Country,City,Question)
values (:Username,:Password,:Email,:Country,:City,:Question)");
$data = array(
':Username' => "$Username",
':Password' => "$Password",
':Email' => "$Email",
':Country' => "$Country",
':City' => "$City",
':Question' => "$Recoverypassword"
);
$query->execute($data);
echo "<p>Yout account was created successfully. Check your e-mail.</p>";
$dbh = null;
} else {
echo"<div class=\"alert alert-danger\">This <u>ACCOUNT ID</u> (<b> $Username </b>) already exists. Please choose other.!</div>";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
}
} else {
?>
it says error in line 98.
If i combine both pages into one it just gives me error Please supply all data!, even if the form has been filled completely.
|
|
|
01/08/2014, 06:36
|
#10
|
elite*gold: 0
Join Date: May 2009
Posts: 86
Received Thanks: 15
|
Remove else { from the end of the page .
That should fix it.
--
You also can remove the connection to database from register.php ( It's useless )
and ?page=1 ( Line 29 )
|
|
|
01/08/2014, 08:44
|
#11
|
elite*gold: 0
Join Date: Feb 2007
Posts: 42
Received Thanks: 5
|
Thanks guys for the support
Thread can be close. Thank you again.
|
|
|
 |
Similar Threads
|
[Guide]How to Program a Register Page (For MySql)
01/26/2012 - CO2 PServer Guides & Releases - 28 Replies
HTML Side
Ok, in this guide im going to do my best to teach you how to make your own register page using PHP and a LITTLE of html. The first thing any register page needs is obviously the form, so thats what we will start with.
To make a form, you will need to use HTML. So lets go ahead and make a new text file, and call it register.php (its .php because we will be using PHP inside of the file). The first thing to start a form, you need to make sure that the browser knows its a form in...
|
[HELP] MySql Register Page
08/04/2010 - CO2 Private Server - 2 Replies
Hey guys I have a small problem with my MySql register page. everytime I load the page the Account and Password box are already filled in with the username Admin and a password.
My question is.... Does anyone know how to fix this? It also happens in flatfile sources as well!
Any help would be much appreciated :)
Thanks in advance
|
MySQL error for voting script & register page
04/27/2010 - Dekaron Private Server - 2 Replies
well this just happen it was working fine then it just went bad
then the register page messed up to
idk why it did this it was working fine for days then it just does this
|
[QUESTION]Making PhP working with MySQL, so i can make register page?
11/14/2009 - CO2 Private Server - 2 Replies
Title says all.
How do i make PhP Scripts work with MySQL, so i can make a register page.
Im totally noob at PhP.
Only read some things for it on the net lol.
Any mod, close this thread when i have got answers.
|
All times are GMT +1. The time now is 01:37.
|
|