Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 13:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Python]if/else problehm

Discussion on [Python]if/else problehm within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
FireFox©'s Avatar
 
elite*gold: 42
Join Date: Apr 2009
Posts: 263
Received Thanks: 121
[Python]if/else problehm

Hallo Com,

Da ich momentan daran bin eine etwas abgewandelte Version von Raiguard in meinen Client zu implementieren(Nein die Licence vom ersteller will ich nicht entfernen)bin ich auf einen sehr komischen Fehler gestoßen und vielleicht kann einer der Lieben Python götter mir hier helfen.

Kurz zum System:
Wenn man sich einloggt wird eine abfrage an den Server gestellt zwecks des Status des Guards.

0 = Aus
1 = An

Das ganze läuft über eine Php seite ähnlich wie bei raiguard:
PHP Code:
$accountdb_ip "xxxxxx"//Accountserver-IP
$accountdb_login "xxxxx"//Accountserver-Loginname
$accountdb_pw "xxxxxxxx"//Accountserver-Passwort
$db_ip "xxxxxxxx"//DB-Server-IP
$db_login "xxxxxx"//DB-Server-Loginname
$db_pw "xxxxxxx"//DB-Server-Passwort

$con mysql_connect($db_ip$db_login$db_pw);
$con_account mysql_connect($accountdb_ip$accountdb_login$accountdb_pw);
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }
  
$pcid mysql_real_escape_string($_GET["pcid"], $con);
$login mysql_real_escape_string($_GET["login"], $con);
if(
$login != "" ){
$result_id mysql_query("SELECT * FROM account.account WHERE login='".$login."' LIMIT 1"$con);
$player_acc_id mysql_result($result_id0"id");
$result mysql_query("SELECT * FROM account.account WHERE id='".$player_acc_id."'"$con);
$status mysql_result($result0"raiguard");

if(
$status == 0)
    {echo 
"0";}
elseif(
$status == 1)
    {echo 
"1";}
elseif(
$status == 2)
    {echo 
"2";}
}

if(
$pcid != ""){
$result_id mysql_query("SELECT * FROM account.account WHERE login='".$pcid."' LIMIT 1"$con);
$player_acc_id mysql_result($result_id0"id");
$result mysql_query("SELECT * FROM account.account WHERE id='".$player_acc_id."'"$con);
$status mysql_result($result0"raiaccpin");
echo 
$status;    
}
mysql_close($con);
mysql_close($con_account); 
(Ja ich weiß das da eine mysql verbindung umsonst ist ;D fein tuneing)
Sie gibt erfolgreich bei ?login=accname oder ?pcid= Den Status 0 oder 1 oder den Pin aus.

nun zum script:
PHP Code:
def __OnClickLoginButton(self):
        
id self.idEditLine.GetText()
        
pwd self.pwdEditLine.GetText()
        
logintest str(id)
        
#dbg.LogBox(logintest)
        
protect urllib2.urlopen(HOMEPAGE "raiguardstatusig.php?login=" logintest).read()
        
dbg.LogBox(protect)
        
        
        if (
protect == "1"):
        
            if 
len(id)==0:
                
self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_IDself.SetIDEditLineFocus)
            return

            if  
len(pwd)==0:
                
self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORDself.SetPasswordEditLineFocus)
            return
        
            
self.Connect(idpwd)
            
        else:
        
            
dbg.LogBox("Schon wieder fail!"
So das hier habe ich auch getestet also der client bekommt aus protect variable = 1 .

Der Fehler ist aber obwohl ich es hier mit:
PHP Code:
if (protect == "1"): 
gemacht habe springt er auch bei
PHP Code:
protect=
auf
PHP Code:
else:
        
            
dbg.LogBox("Schon wieder fail!"
ich habe auch schon:
PHP Code:
if (protect == "1"):
if (
protect == '1'):
if (
protect == 1):
if 
protect == "1"
if protect == '1':
if 
protect == 1
getestet aber ohne erfolg leider.

Ich nehme an das er aus der Homepage zusätzlich ein leerzeichen/zeile mit nimmt.Jetzt ist meinen frage wie ich es hinbekomme das er hier nicht die If bedingung überspringt sprich das protect = clientvariable ist.

Danke für eure Hilfe im Vorfeld
Mfg Fabejan

PS:Rechtschreibfehler bitte schenken(außer sie sind im code);D
FireFox© is offline  
Old 07/07/2016, 19:00   #2
 
.Scy's Avatar
 
elite*gold: 15
Join Date: Jul 2010
Posts: 3,926
Received Thanks: 1,158
wäre ja erstmal wichtig zu wissen, was genau dort mitgegeben wird.
print protect wäre da mal ne möglichkeit um zu gucken was ausgegeben wird, anschließend noch ein print dahinter hängen mit irgend einem inhalt, z.b. "test" oder so, falls dies in der nächsten reihe landet, weißt du, dass du mehr bekommst als nur die 1, zudem wäre es ja mal ne idee die seite einfach im browser aufzurufen und zu gucken was du dort bekommst.

mit burpsuite könntest du den kompletten inhalt den du bekommst angucken, da ich nicht weiß inwiefern urllib2 die http-header mit liest oder nicht, könntest du so auf deine antwort kommen.
.Scy is offline  
Thanks
1 User
Old 07/07/2016, 19:53   #3
 
FireFox©'s Avatar
 
elite*gold: 42
Join Date: Apr 2009
Posts: 263
Received Thanks: 121
Danke dir ich habe vollgende ausgabe

>>> import urllib
>>> urllib.urlopen("xxxxxxxxxxxxxxxxxxxxxxxxx").read()
'1\n'
wie bekomme ich jetzt den zeilen umbruch daraus?

Lösung: protect = protect.strip()
if protect = "0"

Danke für deine Hilfe top! ohen dich wäre ich nicht auf "\n" bekommen
FireFox© is offline  
Old 07/07/2016, 20:12   #4
 
Der-Eddy's Avatar
 
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
Siehe Beitrag von Ente
Der-Eddy is offline  
Thanks
1 User
Old 07/07/2016, 22:20   #5
 
.Scy's Avatar
 
elite*gold: 15
Join Date: Jul 2010
Posts: 3,926
Received Thanks: 1,158
Quote:
Originally Posted by Der-Eddy View Post
btw. fürs nächste mal
Code:
if (protect.find('1') != -1):
    #do something
Wenn protect keine 1 enthält dann wird -1 ausgegeben, ansonsten der Index der 1 im String
aber dann müsste man doch immer davon ausgehen, dass die anfrage nur 0 oder 1 zurück gibt und nie die möglichkeit besteht, dass 103213 drinnen steht oder whatever, richtig?
.Scy is offline  
Old 07/07/2016, 22:56   #6
 
FireFox©'s Avatar
 
elite*gold: 42
Join Date: Apr 2009
Posts: 263
Received Thanks: 121
ja alles gute danke euch habs jetzt sind halt immer die kleinen Fehler die einen aufhalten schönen abend
FireFox© is offline  
Old 07/07/2016, 23:36   #7


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
Quote:
Originally Posted by Der-Eddy View Post
btw. fürs nächste mal
Code:
if (protect.find('1') != -1):
    #do something
Wenn protect keine 1 enthält dann wird -1 ausgegeben, ansonsten der Index der 1 im String
Urghs, ganz und gar nicht pythonic. "in" / "not in" Operator usen:
Code:
if '1' in protect:
  pass
Ende! is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Metin2 - Python - Wie Python Hacks verschlüsseln und Server überprüfen (GF/PServe)
09/23/2012 - Metin2 - 2 Replies
Ich wollte fragen, wie man Python Hacks am besten Verschlüsselt ? und wie man feststellen kann ob man auf einem GF / Pserver spielt. ?
Problehm!
03/11/2012 - Minecraft - 10 Replies
Hallo Ich kaufte mir vor etwa 2 wochen den neuen HP Pavilion dv6 mit Intel core i7 (quad Core) 2.2 ghz, AMD Radeon Hd 6700M mit 2gb, 6gb ram so und jetz mein problehm ich habe in minecraft gerademal 5-10 fps bitte helft mir
lua problehm
10/16/2010 - WoW Private Server - 0 Replies
Also ich habe jetz ein npc der ein menü hat und ein sub menü aber immer wen ich jetz auf gold geben klcike gibt er mir das gold was ich eingetragen habe im code sprich 100g aber ich kan nicht noch al draufklicken sondern muss den npc erst neu anreden damit das geht funxt das irgent wie mit return 0 oder sowas pleas help ^^
Problehm mit VirtualPC !
07/24/2010 - Metin2 Private Server - 3 Replies
heyho leudz hab n Problem mit Virtual PC Ich war grad beim 2ten loging Für meinen MT2 auf pserver zu Machen Dann stand da und Das: : Anzugeben sind der vollständige Pfadname der Shell oder RETURN für / bin / sh: ^ ^ Das steht da das is jetzt imma so WENN ich virt -PC zu einem mache er läd und läd und Dann Das ! Schön hab neu instaliert und gelöscht und neues gemacht aba Das alles funzt net ! was nun pls helpü und postet pls kommis keine WIE: ES GIBT imma wida so dumme Kinder sterben nit...
Valuen Problehm
05/23/2010 - Metin2 Private Server - 0 Replies
Hallo liebe Com, ich wollte euch fragen ob einer die Valuen für die Hochzeitz sachen hat alle pls wer sie hat pls pn an mich (bekommt auch ein Thanks) MFG



All times are GMT +1. The time now is 13:50.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.