Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
Niktoś
post
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


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

No chyba ten błąd Ciebie o wszystkim informuje.
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Doradzę tylko, abyś pozbył się Krasnala (z tego co się orientuję jest on "troszkę" nieaktualny). Alternatyw masz kilka np. WampServer, xampp.

Poza tym komunikat błędu mówi sam za siebie, wystarczy przeczytać, ewentualnie wrzucić do translatora, przetlumaczyć i przeczytać ze zrozumieniem.
Go to the top of the page
+Quote Post
attila1356
post
Post #4





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
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Problem w tym, że bazowy krasnal serv to po prostu antyk: Apache 1.3, Php 4, Mysql 3.x... Przy takich składnikach część rzeczy po prostu nie będzie działać, bo te stare wersje tego nie mają i tym samym nie obsłużą, ale sypną błędami, które nie powinny się pokazać... Ja krasnala używałem w jakoś 2004 roku, a już wtedy nie był zbyt świeży. Nie dziw się więc, że coś Ci nie chce działać. Nawet poprawne zapytania SQL mogą Ci się wywalać, bo przykładowo ta wersja MySQL nie obsługiwała jeszcze UNION. Naprawdę... Zanim zaczniesz sie grzebać w kodzie zrób takie środowisko, aby po jego wrzuceniu gdziekolwiek, działało to bez problemów i wielkich przeróbek.
Go to the top of the page
+Quote Post
attila1356
post
Post #6





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

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


Dobra zainstaluje coś nowszego i zobaczymy czy błąd będzie się powtarzał.
Wieczorem dam znać czy zmiana krasnala coś dała.

Tak jak zalecaliście zmieniłem program na xamppa teraz tylko podpowiedzcie mi jak i gdzie wrzucić mój szablon?
Z tego co wyczytałem to do htdosc uprzednio usówając całą zawartość foldera, jak tak zrobie to wyskakuje mi poprostu nie można wyświetlić strony:/
Szablon mam w takiej postaci:
(IMG:http://s16.postimage.org/g2ota1yhf/Bez_tytu_u.jpg)
Wrzucając to do krasnala odpalało się bez problemu. Niestety do xamppa nie znalazłem poradnika dla laików dotyczących szblonu także mam nadzieje że mi podpowiecie.

Kolejna sprawa to jak zgrać moją bazę danych servera (postawiona na SQLEVAL 2000) ze stroną? W krasnalu przy odpaleniu był poprostu formularz gdzie wklepałem ip hasło itd i śmigało tu niestety nie wiem jak to zrobić(IMG:style_emoticons/default/smile.gif)

Pytania pewnie balnalne ale niestety google nie pomogło a ja jak już wspomniałem jestem w tej kwestii zielony:P

Ten post edytował attila1356 7.04.2012, 14:13:27
Go to the top of the page
+Quote Post

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: 19.09.2025 - 17:16