Witam, mam pewnien problem. posiadam skrypt ktory powienien po zarejestrowaniu dodac nowe konto do bazy danych ale tego nie robi, chociaz po rejestracji jest napisane ze uzytkownik zostal utworzony.:
<?php
require('includes/OTSChecker.class.php');
require('includes/countries.php');
include("includes/text_captcha.php");
function ValidEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)) { return false;
}
return true;
}
// ==== REJESTRACJA UĹ?YTKOWNIKĂ?W ====
if ( isset ( $_SESSION['lista']['zalogowany'] ) ) {
echo '<br/><center><h2>Nie moĹĽesz dodaÄ? wiÄ?cej niĹĽ jednego serwera.</h2></center>'; } else {
if ( $_GET['action'] == 'submit' )
{
$AntiBot = $_POST['login'];
if ( $AntiBot == 'x')
{
echo '<br/><h2>Utworzono konto</h2><br/>MoĹĽesz teraz przejĹ?Ä? do edycji profilu aby ustawiÄ? opis serwera.'; } else {
include ('includes/clients.php');
$Error = false;
$Password = $_POST['haslo'];
$Login = $_POST['llogin'];
$POST_Country = $_POST['kraj'];
$Port = intval( $_POST['port'] );
$CheckExists = $mysqli -> query ('SELECT id FROM `list_ots` WHERE `login`="' .$Login. '" OR `ip`="' .$IP. '" OR `e-mail`="' .$Email. '"');
$CheckBan = $mysqli -> query ( 'SELECT * FROM `list_bans` WHERE `name` = "' .$Login. '" AND `banned` = "1" OR `name` = "' .$IP. '" AND `banned` = "1" OR `name` = "' .$Email. '" AND `banned` = "1"');
if ( $CheckBan -> num_rows > 0 )
{
$Error .= '<li><b>PODANY LOGIN, ADRES IP LUB E-MAIL JEST ZABRONIONY</b></li>';
}
if ( $CheckExists -> num_rows > 0)
{
$Error .= '<li><b>Podany serwer, login lub e-mail jest juĹĽ zarejestrowany.</b></li>';
}
if ( !in_array ( $POST_Country , $Country ) ) {
$Error .= '<li>Nie poprawny kraj!</li>';
}
if ( $_POST['kod'] != $_SESSION['lista']['kod'] OR
!isset($_SESSION['lista']['kod']) ) {
$Error .= '<li>Nie poprawna odpowiedĹş na pytanie potwierdzajÄ?ce</li>';
unset($_SESSION['lista']['kod']); }
{
$Error .= '<li>Nie prawidĹ?owy klient</li>';
}
if ( !eregi ('^[a-zA-Z0-9_]{5,15}$', $Login) ) {
$Error .= '<li>Login jest za krĂłtki lub zawiera znaki z poza alfabetu</li>';
}
if ( $_POST['haslo'] != $_POST['powtorz'] )
{
$Error .= '<li>HasĹ?a siÄ? nie zgadzajÄ? ze sobÄ?.</li>';
}
if ( !eregi ('^[a-zA-Z0-9_]{5,15}$', $Password) ) {
$Error .= '<li>HasĹ?o jest za krĂłtkie, lub zawiera znaki z poza alfabetu.</li>';
}
if ( !ValidEmail ( $Email ) )
{
$Error .= '<li>Nie poprawny format adresu e-mail.</li>';
}
if ( $Port < 7000 OR $Port > 7500 )
{
$Error .= '<li>Port nie mieĹ?ci siÄ? w przedziale 7000 do 7500</li>';
}
if ( $Error == false)
{
$MQuery = 'INSERT INTO `mybb`.`list_ots` (
`id` ,
`login` ,
`password` ,
`name` ,
`lastcheck` ,
`status` ,
`players` ,
`maxplayers` ,
`country` ,
`ip` ,
`port` ,
`e-mail`,
`client`
)
VALUES (
NULL ,
\'' .$Login. '\',
MD5( \'' .$Password. '\' ) ,
\'' .$Title. '\',
\'1\',
\'' .$POST_Country. '\',
\'' .$IP. '\',
\'' .$Port. '\',
\'' .$Email. '\',
\'' .$Client. '\');
';
if ( $mysqli -> query ( $MQuery ))
{
echo '<h2>Rejestracja zakoĹ?czona pomyĹ?lnie</h2><br/>Teraz moĹĽesz przejĹ?Ä? do zmiany opisu Swojego serwera OTS.'; // ==== DODANIE NOWEGO KONTA OCZEKIWUJACEGO AKTYWACJI
} else {
echo '<h2>WystÄ?piĹ? wewnÄ?trzny bĹ?Ä?d serwera</h2><br/>Przepraszamy ale dodawanie serwerĂłw jest tymczasowo niedostÄ?pne, proszÄ? sprĂłbowaÄ? później.'; }
} else {
echo '<br/><br/><h2>Podczas rejestracji wystÄ?piĹ?y bĹ?Ä?dy</h2><br/>' .$Error; }
}
} else {
include ('includes/clients.php');
foreach ( $Clients as $Key => $Value )
{
$ClientsOptions .= '<option value="' .$Value. '">' .$Value. '</option>';
}
foreach ( $Country as $Key => $Value )
{
if ( $UserData['country'] == $Key )
{
$isSelected = 'selected';
} else {
$isSelected = '';
}
$CountryOptions .= '<option value="' .$Key. '" ' .$isSelected. '>' .$Key. '</option>';
}
$Question = RandomText ( $TXT );
$_SESSION['lista']['kod'] = $TXT[$Question];
echo '<br/><h2>Rejestracja nowego konta</h2> <form action="?page=register&action=submit" method="POST">
<table border="0">
<tr><td>Login: </td><td><input type="text" name="llogin"/> ( 5-15 znakĂłw, A-Z i 0-9 )</td></tr>
<tr><td>HasĹ?o: </td><td><input type="password" name="haslo"/> ( 5-15 znakĂłw, A-Z i 0-9 )</td></tr>
<tr><td>PowtĂłrz: </td><td><input type="password" name="powtorz"/></td></tr>
<tr><td> </td><td> </td></tr>
<tr><td>Nazwa OTS: </td><td><input type="text" name="nazwa_ots"/> ( MĂłj OTserver, 24/7, exp x4)</td></tr>
<tr><td>Adres IP: </td><td><input type="text" name="adres_ip"/> ( np. mojots.no-ip.org, 89.55.100.101 )</td></tr>
<tr><td>Port: </td><td><input type="text" name="port" value="7171"/></td></tr>
<tr><td>E-mail: </td><td><input type="text" name="email"/> ( nazwa@domena.org )</td></tr>
<tr><td><input type="checkbox" name="login" value="x" style="visibility: hidden;"></td><td> </td></tr>
<tr><td>Klient:</td><td>
<select name="klient">
' .$ClientsOptions. '
</select>
</td>
</tr>
<tr><td>Kraj:</td><td>
<select name="kraj">
' .$CountryOptions. '
</select>
</td>
</tr>
<tr><td> </td><td> </td></tr>
<tr><td>Pytanie: </td><td>' .$Question. '</td></tr>
<tr><td>Odpowiedz: </td><td><input type="text" name="kod"/></td></tr>
<tr><td> </td><td> </td></tr>
<tr><td> </td><td><input type="submit" value="Zarejestruj" /></td></tr>
</table>
</form>';
}
}
//$result = $mysqli->query('');
?>
:
myslalem ze to moze wina bazy...jakies uprawnienia czy cos...ale dodalem konto "recznie" i dalem mu bana i skrypt dodal rekord o banie do bazy:
<?php
function isBanned ( &$int )
{
if ( $int == 1 )
return '<font color="red"><b>Tak</b></font>';
else
return 'Nie';
}
$CheckAdmin = $mysqli -> query ( 'SELECT * FROM `list_ots` WHERE login="' .$_SESSION['lista']['zalogowany']. '"' );
$Assoc = $CheckAdmin->fetch_assoc();
if ( $Assoc['admin'] == 1 )
{
if ( $_GET['action'] == 'change' )
{
$CheckBan = $mysqli->query( 'SELECT * FROM `list_bans` WHERE `id` = "' .$ID. '"' );
$CheckBanRow = $CheckBan -> fetch_assoc ();
if ( $CheckBanRow['banned'] == 1 )
{
$mysqli-> query ( 'UPDATE `list_bans` SET `banned` = "0" WHERE `id` = "' .$ID. '"');
} else {
$mysqli-> query ( 'UPDATE `list_bans` SET `banned` = "1" WHERE `id` = "' .$ID. '"');
}
} elseif ( $_GET['action'] == 'add' )
{
$mysqli -> query ( 'INSERT INTO `list_bans` (`id` ,`name` ,`banned`) VALUES (NULL , \'' .mysql_escape_string ( $_POST['banned_string'] ). '\', \'1\');' );
} elseif ( $_GET['action'] == 'delete' )
{
$mysqli -> query ( 'DELETE FROM `list_bans` WHERE `id` = "' . intval ( $_GET['id'] ) . '"' ); }
echo '<h1>Zbanowani</h1><br/>';
$BannedQuery = $mysqli -> query ( 'SELECT * FROM `list_bans`' );
$i=0;
$Echo = '<table border="1" cellpadding="0" cellspacing="0" width="100%"><tr align="center" style="font-size: 16px;" bgcolor="#B7B481"><td><b>IP LUB E-MAIL</b></td><td><b>AKTYWNE</b></td><td><b>USUĹ</b></td></tr>';
while ( $Row = $BannedQuery -> fetch_assoc () )
{
$i++;
$Echo .= '<tr align="center" height="20"><td>' .$Row['name']. '</td><td><a href="?page=bans&action=change&id=' .$Row['id']. '" style="text-decoration: none;">' .isBanned ( $Row['banned'] ). '</a></td><td><input type="checkbox" onclick="window.location=\'?page=bans&action=delete&id=' .$Row['id']. '\';"/></tr>';
}
if ( $i == 0 )
{
$Echo .= '<tr align="center" height="20"><td colspan="3">BRAK BANĂ?W</td></tr>';
}
$Echo .= '</table>';
echo $Echo. '<br/><h1>Dodaj nowe</h1><br/> <form action="?page=bans&action=add" method="POST">
<table border="0">
<tr>
<td>IP lub e-mail: </td>
<td><input type="text" name="banned_string"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Dodaj do listy banĂłw"/></td>
</tr>
</table>
</form>';
}
?>`
dodam jeszcze ze na te recznie utworzone konto moge sie zalogowac na stronie. Prosze o pomoc
P.s. nie wiedzialem do ktorego dzialu dac, do baz danych czy tutaj
Ten post edytował krzysiek1 24.01.2010, 22:27:47