Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Skrypt rejestrujący[php] [html] [js]
#1
Cześć muszę zrobić stronę, która będzie wprowadzać dane do bazy sql.
Taki prosty skrypt rejestrujący. Ma sprawdzać czy dany login istnieje już w tabeli, kodować hasło md5 i mieć zabezpieczenie tokenem.
Znalazłem coś podobnego lecz po zmodyfikowaniu nie działa mi:

Kawałek sqla:

Kod:
# MySQL-Front 3.2  (Build 6.2)



/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET CHARACTER SET 'utf8' */;



# Host: 192.168.140.130    Database: db_account

# ------------------------------------------------------

# Server version 5.0.45-log



#

# Table structure for table t_account

#



DROP TABLE IF EXISTS `t_account`;

CREATE TABLE `t_account` (

  `accountid` bigint(21) NOT NULL auto_increment,

  `name` varchar(32) default NULL,

  `pwd` varchar(32) default NULL,

  `pw2` varchar(32) default NULL,

accountid ma zostawiać, w name wpisać login, w pwd wpisać hasło w md5.
Zrobiłem takie coś:
Kod:
<body>
<div id="registerResult"></div>
<form method="post" action="javascript:register();">
<table width="100%" border="1">
  <tr>
    <td colspan="2">Register</td>
  </tr>
  <tr>
    <td>Login</td>
    <td>
       <input type="text" id="name" name="name" />   </td>
  </tr>
  <tr>
    <td>Hasło</td>
    <td><input type="password" id="pwd"  name="pwd" /></td>
  </tr>
  <tr>
    <td>Powtórz Hasło</td>
    <td><input type="password" id="repeadpwd"  name="repeadpwd" /></td>
  </tr>
   <tr>
    <td><img src="token.php" alt="token" style="vertical-align: middle" /></td>
    <td><input type="text" id="token" name="token" /></td>
  </tr>
  <tr>
    <td colspan="2">
      <input type="submit" name="Submit" id="registerButton" value="Zarejestruj" />
   </td>
    </tr>
</table>
</form>
</body>
</html>

skrypt php:
Kod PHP:
<?php
session_start
();
function 
lacz_bd()
{  
  
$db = new mysqli('ip''root''haslo''db_account');    
    if (! 
$db)
      return 
false;
   
$db->autocommit(TRUE);
   return 
$db;
}



if(!empty(
$_GET['activ'])){
$name addslashes($_GET['activ']);
$db lacz_bd();
$zapytanie "update t_account set act='1' where name='$name'"
$wynik $db->query($zapytanie);
echo 
'OK';
}




if(
$_SESSION['captcha']!=$_POST['token']){
echo 
'1';
exit();
}



$name addslashes($_POST['name']);
$pwd addslashes($_POST['pwd']);
$token addslashes($_POST['token']);


if(!empty(
$name)&&!empty($pwd)&&!empty($token)){
$db lacz_bd();

$zapytanie "select name from t_account WHERE name='$name'";
$wynik $db->query($zapytanie);
$ile_znalezionych $wynik->num_rows;
        if(
$ile_znalezionych>0){ echo '2';
        exit();
        }
$zapytanie "insert t_account (accountid, name, pwd,) values ('', '$name', md5('$pwd'),)"
$wynik $db->query($zapytanie);
if(
$wynik){
                
$stopka '<br /><br />-----------------------------------------------<br /><br />';
                
$from 'serwer';
                
$admin_mail 'admin@mail';
                
topic 'Aktywacja konta';
                
$tresc 'Dane do logowania w serwisie : <br /><br /> Login: '.$name.'<br /> Haslo: '.$pwd.'<br /><br />;
                
}else{ echo '
error';}
}       

?>

Plik java:

Kod:
function register(){
        
                var repeadpwd = document.getElementById("repeadpwd").value;
                var registerResult = document.getElementById("registerResult");
        var name = document.getElementById("name").value;
        var pwd = document.getElementById("pwd").value;
        var token = document.getElementById("token").value;
        var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
        var litPatt = /^[2-9]{5,5}$/;
                var odp = regex.test(pp);
                wynik= token.match(litPatt);
        if(name==''){
           registerResult.innerHTML = 'Błšd: Nie podano <b>Loginu</b>';
        }else if (pwd!= repeadpwd){
                registerResult.innerHTML = 'Błšd: <b>Podane hasłš różniš się od siebie</b>';
        }else if(pwd==''){
           registerResult.innerHTML = 'Błšd: Nie podano <b>Hasła</b>';
        }else if(token==''){
           registerResult.innerHTML = 'Błšd: Nie podano <b>Tokena</b>';
        }else if(wynik == null){
          registerResult.innerHTML = 'Błšd:<b>Token zawiera złe dane</b>';
        }else{
                 var myAjax = new Ajax.Request(
                        'register.php',
                        {
                method: 'post',
                        parameters: "name="+name+
                                                "&pwd="+pwd+
                                                "&token="+token,
                        onComplete: showResponse,
                onFailure: showAlert
                        });
        }
}
function showResponse(text){
        var registerResult = document.getElementById("registerResult");
        if(text.responseText=='1'){
        registerResult.innerHTML  = 'Błšd: <b>Token zawiera złe dane</b>';
                }else  if(text.responseText=='2'){
        registerResult.innerHTML  = 'Błšd: <b>Podany login jest już zajęty</b>';
        }else{        
        registerResult.innerHTML  = 'Rejestracja zakończona.;
                }
}
function showAlert(MyRequest) {
        var registerResult = document.getElementById("registerResult");
        registerResult.innerHTML  = 'Błšd: <b>Nieudana rejestracja.</b>';
        var registerButton = document.getElementById('registerButton');
        registerButton.style.display = "none";
}

token:
Kod:
<?    
    session_start();
    $pool = '23456789'; //liczby z których bedziemy losować token
    $img_width = 100; //wymiary tokena
    $img_height = 16;

    $str = ''; //wyzerowanie tokena
    for ($i = 0; $i < 5; $i++){ // losowanie liczb
        $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
    }

    $string = $str;
    $_SESSION['captcha'] = $string; //tworzymy sesje z wartością tokena

    $im = imagecreate($img_width, $img_height); //tworzymy obrazek

    $bg_color     = imagecolorallocate($im,255,255,255); // kolor tła
    $font_color   = imagecolorallocate($im,0,0,0); // kolor czcionki
    $grid_color   = imagecolorallocate($im,246,246,246); // kolor lini
    $border_color = imagecolorallocate ($im, 246, 246, 246); // kolor ramki

    // Tworzenie tokena
        
        imagefill($im,1,1,$bg_color);

  
         ImageLine($im,90,0,90,30,$grid_color); //1
         ImageLine($im,10,0,10,30,$grid_color); //2
         ImageLine($im,20,0,20,30,$grid_color); //1
         ImageLine($im,30,0,30,30,$grid_color); //1
         ImageLine($im,40,0,40,30,$grid_color); //1
         ImageLine($im,50,0,50,30,$grid_color); //1
         ImageLine($im,60,0,60,30,$grid_color); //1
         ImageLine($im,70,0,70,30,$grid_color); //1
         ImageLine($im,80,0,80,30,$grid_color); //1
        
         ImageLine($im,0,5,100,5,$grid_color); //1
         ImageLine($im,0,10,100,10,$grid_color); //1
         ImageLine($im,0,15,100,15,$grid_color); //1


    $x = rand(5, $img_width/(7/2)); // pozycja liczb w tokenie

    imagerectangle($im, 0, 0, $img_width-1, $img_height-1, $border_color);

    for($a=0; $a < 7; $a++){

        imagestring($im, 3, $x, 1, substr($string, $a, 1), $font_color);
        $x += (5*2); #odstęp

    }

    header("Content-type: image/gif");
    imagegif($im);
    imagedestroy($im);

?>

Możecie mi wytłumaczyć co jest źle zrobione?
Odpowiedz
#2
możesz napisać co nie działa?? jakieś błędy wywala, czy coś w tym stylu??
Odpowiedz
#3
Po nacisnieciu przycisku rejestruj nic sie nie dzieje. Jak wroce do domu to postaram sie zalaczyc moje plilki czyli sqla. formularz, skrypty php i js to moze jak bedziecie mieli pliki to latwiej bedzie znalezc bledy
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak zrobć POP-UP w html/php i proste pytanko html? MrOMGWTF 7 5,567 01-05-2021, 10:56
Ostatni post: wozniak
  Strona HTML na zaliczenie - dodaj, usuń, edytuj Kurana 1 2,091 01-07-2019, 03:31
Ostatni post: mpire
  [HTML] Filmik zamiast obrazka wyróżniającego kuklaale 1 2,759 02-11-2016, 18:36
Ostatni post: martt4dg
  Problem zm osadzeniem skryptu lighbox w kodzie html gajowy873 2 3,709 24-09-2016, 02:22
Ostatni post: Anatol64
  [CSS][HTML] Ustawienie obrazka z boku strony Witek7777 8 8,476 22-09-2016, 01:05
Ostatni post: pocahontas

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl