Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Błąd w skrypcie. Tylko gdzie?
attila1356
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.04.2012
Skąd: Wziąść na wódkę?

Ostrzeżenie: (0%)
-----


Witam!
Prowadzę serwer w grze przez hamachi od jakiegoś tygodnia. Z racji że gra już jest dopracowana zacząłem pracę nad stroną do gry ( a właściwie ściągnąłem gotowca z błędem). W krasnal serwerze przy próbie rejestracji konta wyskakuje:
Cytat
Warning: mssql_query(): message: Violation of PRIMARY KEY constraint 'PK_MEMB_INFO_1'. Cannot insert duplicate key in object 'MEMB_INFO'. (severity 14) in c:\usr\krasnal\www\hell\mupagecore\rejestracja2.php on line 172
Konto zalozone!

Konto oczywiście nie zostaje założone.

Istniejące już konta normalnie są na stronie w trankingu normalnie można się na nie zalogować ale stworzenie konta na stronie kończy się fiaskiem.
Domyślam się że problem leży w pliku rejestracja2.php także wklejam go poniżej.
Z góry dziękuję za wychwycenie problemu i pomoc.

Cytat
<?
/*-----------------------------------------------------*\
| SkyTeam MuPage file |
| this file is connected with module $page["rejestracja"]|
| File version 1.0 |
| by Amelek (szklarzewicz@wp.pl) |
| http://lorencia.com |
\*-----------------------------------------------------*/
if(!defined('SkyTeamPageRUNNING') OR !$page["rejestracja"])
{
die("Include error..");
}
?>
<div style="text-align:center">
<?php
if($reg == 1)
{
include "mupagecore/coreincludes/logsth.php";

$login = $_POST["login"];
$pw = $_POST["pw"];
$cpw = $_POST["cpw"];

$login = trim($login);
$pw = trim($pw);
$cpw = trim($cpw);

$name = $login;

if($page["validate_by_email"])
{
$naglowki = $lang_email_header;

function IsEMail($e)
{
$atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // allowed characters for part before "at" character
$domain = '([a-z]([-a-z0-9]*[a-z0-9]+)?)'; // allowed characters for part after "at" character

$regex = '^' . $atom . '+' . // One or more atom characters.
'(\.' . $atom . '+)*'. // Followed by zero or more dot separated sets of one or more atom characters.
'@'. // Followed by an "at" character.
'(' . $domain . '{1,63}\.)+'. // Followed by one or max 63 domain characters (dot separated).
$domain . '{2,63}'. // Must be followed by one set consisting a period of two
'$'; // or max 63 domain characters.

if (strlen($e) == 0)
{
return false;
}
elseif(count(explode("@",$e)) != 2)
{
return false;
}
else
{
if (eregi($regex, $e))
{
return true;
}
else
{
return false;
}
}
return false;
}

if(isEMail($_POST['email']))
{
// check if its in database..

if(strpos($_POST['email'], "'") !== false)
$email = false;
else
{
$check_mail = mssql_query("SELECT EMail FROM ST_EMAIL WHERE EMail = '".$_POST['email']."'");
$check_mail = mssql_fetch_row($check_mail);
if($check_mail[0] == $_POST['email'])
{
echo $lang_email_alredy_used.'<br>';
$email = false;
}
else
{
$email = $_POST['email'];
$mail_hash = md5(md5($nazwa.$email).md5($login,psw).md5(date('U')));
}
}
}
else
{
$email = false;
}
}
else
{
$email = 'Rejestracja przez strone';
}
//temp
//$email = 'Rejestracja przez strone';

$prq = "pyt";
$pra = "odp";

if(!$email)
{
echo $lang_email_error;
addtolog("<b>Wrong Email ".$_POST['email']."</b>","REG");
}
elseif((strtoupper($_POST['regconfirm']) != $HTTP_SESSION_VARS['regcode'] OR empty($_POST['regconfirm'])) AND $page["reg_code"])
{
echo $lang_reg_wrong_confirm_code;
addtolog("<b>Wrong code</b>","REG");
}
elseif(ereg("[^0-9a-zA-Z_-]", $login, $str))
{
echo $lang_login_wrong_chars;
addtolog("<b>Wrong Chars (login) $login</b>","REG");
}
elseif(ereg("[^0-9a-zA-Z_-]", $pw, $str))
{
echo $lang_pw_wrong_chars;
addtolog("<b>Wrong Chars (pass) $pass</b>","REG");
}
else
{
$login_test = strtolower($login);
$resultx = mssql_query("SELECT LOWER(memb___id) FROM MEMB_INFO WHERE LOWER(memb___id) = ('$login_test')") or die;

if (mssql_num_rows($resultx))
{
echo $lang_this_acc_exist;
addtolog("<b>Exist account $login</b>","REG");
}
elseif (empty($login) || empty($name) || empty($email) || empty($pw) || empty($cpw))
{
echo $lang_fill_fields;
}
elseif (strlen($login) < 4)
{
echo $lang_login_too_short;
}
elseif (strlen($pw) < 4)
{
echo $lang_pass_too_short;
}
elseif (strlen($pw) > 10)
{
echo $lang_pass_too_long;
}
elseif (strlen($login) > 10)
{
echo $lang_login_too_long;
}
elseif ($pw != $cpw)
{
echo $lang_pass_not_correct;
}
else
{
if($page["validate_by_email"] AND !$page["register_after_validation"]) // send mail..
{
mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_1,$login,$nazwa,$mail_hash), $naglowki);
mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");
echo $lang_email_you_will_get_it.'<br>';
}

if(!$page["register_after_validation"] OR !$page["validate_by_email"])
{
addtolog("<b>REG: $login $pw</b>","REG");
mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Sect
ion,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('20055','1',1234,'$login','$login',1,'7','6','3','6','6',getdate(),'0' )") or die('error, account exists');
mssql_query("SET IDENTITY_INSERT MEMB_INFO ON INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta
,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,
out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login','$pw','$name', '1','1234','11111','personalid','12343','$email','$email','$prq','$pra','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')") or die('error, query failed');
echo $lang_acc_done;
}
else
{
mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_2,$login,$nazwa,$mail_hash), $naglowki);
mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");

addtolog("<b>Wait to register: $login $pw [$mail_hash]</b>","REG");
echo $lang_email_you_need_to_veryf_your_acc_before_you_can_play;
}
}
}
}
else
{
echo $lang_sorry_reg_off;
include "mupagecore/coreincludes/logsth.php";
addtolog("<b>TRYING TO HACK REG SCRIPT: $login $pw</b>","REG");
}


$login2 = $HTTP_SESSION_VARS['loginvar'];
$login = $HTTP_SESSION_VARS['loginvar'];
?>
</div>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
attila1356
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.04.2012
Skąd: Wziąść na wódkę?

Ostrzeżenie: (0%)
-----


Cytat(Niktoś @ 1.04.2012, 12:59:51 ) *
No chyba ten błąd Ciebie o wszystkim informuje.


Rozumiem mniej więcej w czym problem tylko nie mam pojęcia jak to naprawić. Nie znam się kompletnie na tym dlatego piszę w odpowiednim do mojego poziomu dziale.

Cytat(mortus @ 1.04.2012, 13:16:34 ) *
Doradzę tylko, abyś pozbył się Krasnala (z tego co się orientuję jest on "troszkę" nieaktualny). Alternatyw masz kilka np. WampServer, xampp.


Potzrebuje tą stronkę tylko do jednej czynności także krasnal zupełnie wystarczy o ile zacznie działać poprawnie:) Poza tym ledwo ogarniam krasnala a domyślam się że nowsze odpowiedniki są jeszcze bardziej pomieszane:)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 03:38