Website Programmierer gesucht (PHP/HTML/MSSQL)

07/20/2018 00:20 -Frozen#1
Hallo zusammen,

suche einen Website Programmierer, ganz klar sollte er PHP/HTML können und auch dieses ganze Zeug, wie MSSQL/MYSQL, womit man halt bspw. Registrationen erstellt. Also einfach alles drum und dran.

Was ich möchte?
Habe für ein bestimmtes Spiel eine Webseite, da habe ich dann einige Problemzonen, die ich gerne bewältigen würde. Zum Beispiel wird bei der Registration nicht überprüft ob das Feld A schon in der Datenbank A -> Tabelle A -> Spalte A existiert oder nicht, also so ganz kleine Sachen wie Benutzername kann mehrfach angemeldet werden, wird dennoch nur 1x in die DB eingetragen. Fehlen halt noch so paar kleine Checks, das kann ich dann aber noch genauer sagen.

Wie zahle ich?
Würde das Ganze am besten per PayPal bezahlen, ganz simple. Vielleicht eine kleine Summe und ihr helft mir dann bei meinen kleinen Problemen. Wenns hochkommt sind es vielleicht paar Änderungen die vorgenommen werden müssen, wie auch schon oben erklärt. Muss mich da auch noch genau hinsetzen und schauen, was genau "failt".

Bitte einfach im Thread hier melden, falls ihr auch wirklich Ahnung von Microsoft SQL Servern habt in Verbindung mit PHP/HTML. Weil MYSQL und MSSQL Befehle in PHP sehen teils anders aus. Sollte also nicht so schwer sein, ganz kleine Sachen eben, daher würde ich auch jetzt keinen überkrassen Betrag zahlen - sollte absolut logisch sein. Wenn doch irgendwas gemacht werden muss, was den Rahmen sprengt, zahle ich auch entsprechend mehr.
07/20/2018 08:06 Mr.Policeman#2
Ich würde dir raten eine Liste mit den Problemen zu machen, detailiert.
Link hinzu packen, und jeder der dir schreibt, einfach Copy Paste.

So hast du die Arbeit nur 1 mal.

(Oder Video)

Bitte um genauere Angaben.
07/20/2018 09:00 chr1zzLy#3
Kannst dich gerne bei mir mal per PN mit der genauen, detaillierten Problemstellung melden. :)
07/20/2018 09:09 Lucky_Patcher#4
PHP Code:
<?php

session_start
();

require_once 
'class/token_class.php';
require_once 
'class/database_class.php';
require_once 
'class/header_class.php';

$errors = array(); 

if(isset(
$_SESSION['username']) && $_SESSION['success']) {
    
header('Location: dashboard');
        exit;
}

if (isset(
$_POST['login_user'])) {

  
$username $_POST['username'];
  
$password $_POST['password'];

  if (empty(
$username)) {
      
array_push($errors"Bitte gib deinen Benutzernamen ein!");
  }
  if (empty(
$password)) {
      
array_push($errors"Bitte gib dein Passwort ein!");
  }

  if (
count($errors) === 0) {
      
$sql_login "SELECT * FROM tn_users WHERE username = :username AND password = :password";
    
$stmt $dbh->prepare($sql_login);
    
$stmt->execute(array(':username' => $username':password' => $password));
    
$user $stmt->fetch(PDO::FETCH_ASSOC);
    
      if(
$user == false) {
        
array_push($errors"Benutzername / Passwort ist falsch!");
    } else {
        
$_SESSION['username'] = $username;
          
$_SESSION['success'] = "You are now logged in";

        if(isset(
$_POST['remember_me'])) {
            
$identifier random_string();
            
$securitytoken random_string();

            
$insert $pdo->prepare("INSERT INTO securitytokens (user_id, identifier, securitytoken) VALUES (:user_id, :identifier, :securitytoken)");
            
$insert->execute(array('user_id' => $user['id'], 'identifier' => $identifier'securitytoken' => sha1($securitytoken)));
            
setcookie("identifier",$identifier,time()+(3600*24*365)); //Valid for 1 year
            
setcookie("securitytoken",$securitytoken,time()+(3600*24*365)); //Valid for 1 year
        
}

          
header('Location: dashboard.php');
        exit;
      }
    }
}

if (isset(
$_POST['reg_user'])) {

  
$username $_POST['username'];
  
$password strtoupper(hash('whirlpool'$_POST['password']));
  
$email $_POST['email'];
  
$invite $_POST['invitecode'];


  if (empty(
$username)) { array_push($errors"Bitte Benutzername angeben!"); }
  if (empty(
$email)) { array_push($errors"Bitte E-Mail Addresse angeben!"); }
  if (empty(
$password)) { array_push($errors"Bitte ein sicheres Passwort angeben!"); }
  if (empty(
$invite)) { array_push($errors"Bitte gib deinen Invitecode ein, oder kaufe einen bei Reverse!"); }

  
$sql_invite "SELECT * FROM invite_codes WHERE code = :invitecode";
  
$stmt $dbh->prepare($sql_invite);
  
$stmt->execute(array(
      
':invitecode' => $invite
  
));
  
$code $stmt->fetch(PDO::FETCH_ASSOC);
  
  
$sql_username "SELECT * FROM tn_users WHERE username = :username LIMIT 1";
  
$stmt $dbh->prepare($sql_username);
  
$stmt->execute(array(
      
':username' => $username
  
));
  
$user $stmt->fetch(PDO::FETCH_ASSOC);

  
$sql_email "SELECT * FROM tn_users WHERE username = :email LIMIT 1";
  
$stmt $dbh->prepare($sql_email);
  
$stmt->execute(array(
      
':email' => $email
  
));
  
$email $stmt->fetch(PDO::FETCH_ASSOC);
  
  if(
$code == false) {
      
array_push($errors"Du hast einen ungültigen Invite Code eingegeben");
  }

  if (
$user == true) {
      
array_push($errors"Benutzername ist bereits in Verwendung!");
  }
  
  if (
$email == true) {
      
array_push($errors"E-Mail Addresse ist bereits in Verwendung!");
  }

  if (
count($errors) == 0) {
      
    
$username $_POST['username'];
    
$password strtoupper(hash('whirlpool'$_POST['password']));
    
$jabber $_POST['jabber'];
    
$invite $_POST['invitecode'];
  
      
$sql_anlegen "INSERT INTO tn_users (username, jabber, password) VALUES (:username, :jabber, :password)";
    
$stmt $dbh->prepare($sql_anlegen);
    
$stmt->bindValue(':username'$username);
    
$stmt->bindValue(':email'$jabber);
    
$stmt->bindValue(':password'$password);
    
$stmt->execute();

    
$sql_delete "DELETE FROM invite_codes WHERE code = :invitecode";
    
$stmt $dbh->prepare($sql_delete);
    
$stmt->bindValue(':invitecode'$invite);
    
$stmt->execute();

    
array_push($errors"Dein Account wurde erfolgreich angelegt. Du kannst dich nun einloggen!");
  }
}

function 
random_string() {
    if(
function_exists('openssl_random_pseudo_bytes')) {
        
$bytes openssl_random_pseudo_bytes(6);
        
$str bin2hex($bytes);
    } else {
        
//Replace your_secret_string with a string of your choice (>12 characters)
        
$str bin2hex(uniqid('your_secret_string'true));
    }
    return 
$str;
}
echo 
strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string());
?>
Simple as it is ;)
07/20/2018 21:01 -Frozen#5
Quote:
Originally Posted by Mr.Policeman View Post
Ich würde dir raten eine Liste mit den Problemen zu machen, detailiert.
Link hinzu packen, und jeder der dir schreibt, einfach Copy Paste.

So hast du die Arbeit nur 1 mal.

(Oder Video)

Bitte um genauere Angaben.
Ich glaube das ist nicht nötig, siehe 2. Zitat.

Quote:
Originally Posted by chr1zzLy View Post
Kannst dich gerne bei mir mal per PN mit der genauen, detaillierten Problemstellung melden. :)
Es geht einfach um eine Regi, wo noch paar Checks rein sollen, dass diese dann halt auch einwandfrei funktioniert in dem Sinne. Zum Beispiel ist die E-Mail bereits registriert -> spuckt eben diese Meldung dann halt auch aus.

Quote:
Originally Posted by Lucky_Patcher View Post
PHP Code:
<?php

session_start
();

require_once 
'class/token_class.php';
require_once 
'class/database_class.php';
require_once 
'class/header_class.php';

$errors = array(); 

if(isset(
$_SESSION['username']) && $_SESSION['success']) {
    
header('Location: dashboard');
        exit;
}

if (isset(
$_POST['login_user'])) {

  
$username $_POST['username'];
  
$password $_POST['password'];

  if (empty(
$username)) {
      
array_push($errors"Bitte gib deinen Benutzernamen ein!");
  }
  if (empty(
$password)) {
      
array_push($errors"Bitte gib dein Passwort ein!");
  }

  if (
count($errors) === 0) {
      
$sql_login "SELECT * FROM tn_users WHERE username = :username AND password = :password";
    
$stmt $dbh->prepare($sql_login);
    
$stmt->execute(array(':username' => $username':password' => $password));
    
$user $stmt->fetch(PDO::FETCH_ASSOC);
    
      if(
$user == false) {
        
array_push($errors"Benutzername / Passwort ist falsch!");
    } else {
        
$_SESSION['username'] = $username;
          
$_SESSION['success'] = "You are now logged in";

        if(isset(
$_POST['remember_me'])) {
            
$identifier random_string();
            
$securitytoken random_string();

            
$insert $pdo->prepare("INSERT INTO securitytokens (user_id, identifier, securitytoken) VALUES (:user_id, :identifier, :securitytoken)");
            
$insert->execute(array('user_id' => $user['id'], 'identifier' => $identifier'securitytoken' => sha1($securitytoken)));
            
setcookie("identifier",$identifier,time()+(3600*24*365)); //Valid for 1 year
            
setcookie("securitytoken",$securitytoken,time()+(3600*24*365)); //Valid for 1 year
        
}

          
header('Location: dashboard.php');
        exit;
      }
    }
}

if (isset(
$_POST['reg_user'])) {

  
$username $_POST['username'];
  
$password strtoupper(hash('whirlpool'$_POST['password']));
  
$email $_POST['email'];
  
$invite $_POST['invitecode'];


  if (empty(
$username)) { array_push($errors"Bitte Benutzername angeben!"); }
  if (empty(
$email)) { array_push($errors"Bitte E-Mail Addresse angeben!"); }
  if (empty(
$password)) { array_push($errors"Bitte ein sicheres Passwort angeben!"); }
  if (empty(
$invite)) { array_push($errors"Bitte gib deinen Invitecode ein, oder kaufe einen bei Reverse!"); }

  
$sql_invite "SELECT * FROM invite_codes WHERE code = :invitecode";
  
$stmt $dbh->prepare($sql_invite);
  
$stmt->execute(array(
      
':invitecode' => $invite
  
));
  
$code $stmt->fetch(PDO::FETCH_ASSOC);
  
  
$sql_username "SELECT * FROM tn_users WHERE username = :username LIMIT 1";
  
$stmt $dbh->prepare($sql_username);
  
$stmt->execute(array(
      
':username' => $username
  
));
  
$user $stmt->fetch(PDO::FETCH_ASSOC);

  
$sql_email "SELECT * FROM tn_users WHERE username = :email LIMIT 1";
  
$stmt $dbh->prepare($sql_email);
  
$stmt->execute(array(
      
':email' => $email
  
));
  
$email $stmt->fetch(PDO::FETCH_ASSOC);
  
  if(
$code == false) {
      
array_push($errors"Du hast einen ungültigen Invite Code eingegeben");
  }

  if (
$user == true) {
      
array_push($errors"Benutzername ist bereits in Verwendung!");
  }
  
  if (
$email == true) {
      
array_push($errors"E-Mail Addresse ist bereits in Verwendung!");
  }

  if (
count($errors) == 0) {
      
    
$username $_POST['username'];
    
$password strtoupper(hash('whirlpool'$_POST['password']));
    
$jabber $_POST['jabber'];
    
$invite $_POST['invitecode'];
  
      
$sql_anlegen "INSERT INTO tn_users (username, jabber, password) VALUES (:username, :jabber, :password)";
    
$stmt $dbh->prepare($sql_anlegen);
    
$stmt->bindValue(':username'$username);
    
$stmt->bindValue(':email'$jabber);
    
$stmt->bindValue(':password'$password);
    
$stmt->execute();

    
$sql_delete "DELETE FROM invite_codes WHERE code = :invitecode";
    
$stmt $dbh->prepare($sql_delete);
    
$stmt->bindValue(':invitecode'$invite);
    
$stmt->execute();

    
array_push($errors"Dein Account wurde erfolgreich angelegt. Du kannst dich nun einloggen!");
  }
}

function 
random_string() {
    if(
function_exists('openssl_random_pseudo_bytes')) {
        
$bytes openssl_random_pseudo_bytes(6);
        
$str bin2hex($bytes);
    } else {
        
//Replace your_secret_string with a string of your choice (>12 characters)
        
$str bin2hex(uniqid('your_secret_string'true));
    }
    return 
$str;
}
echo 
strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string()) . "-" strtoupper(random_string());
?>
Simple as it is ;)
What? I don't need that, but thanks. :D
07/20/2018 22:46 Lucky_Patcher#6
Das ist nen Login / Register Script. Dafuq... Okay ... 15€ die Stunde und ich mach dir.
07/21/2018 14:57 -Frozen#7
Quote:
Originally Posted by Lucky_Patcher View Post
Das ist nen Login / Register Script. Dafuq... Okay ... 15€ die Stunde und ich mach dir.
Das ist schön und gut, aber ich brauche leider kein neues, weil das was du gepostet hast, wäre so für mich eh zwecklos, möchte nur gerne einige Änderungen haben an meinem. x')
07/25/2018 15:30 ★ MrJava ★#8
schick mir 'n PN.
07/25/2018 15:37 ARMEN*#9
Hey ich habe schon viele Referenzen in der Richtung, also falls du noch niemanden gefunden hast kannst du mir gerne deinen Skypenamen per PN zuschicken.
07/25/2018 23:53 -Frozen#10
Hat sich abgehackt, musste lediglich 1-2 Zeilen hinzufügen, damit er die vorgegebenen Meldungen ausspuckt. Also es passt nun alles vorerst, daher erstmal #closed.