News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 6
Seite [1]
malice


Try to beat me




Beiträge: 122
# Thema - 20.09.2010 um 04:40 Uhr
HI, ich bin grad dabei mir irgendwie das rounds modul umzubauen (end version 2010), damit ich es statt für counter strike für starcraft 2 clanwars nutzen kann.

dazu hab ich verschiedene moden eingeführt, also kann man bei einer runde auswählen ob es: 1v1, 2v2, 3v3, 4v4, 5v5 oder 6v6 ist - dann wählt man die eigenen spieler aus und trägt die gegner (sowie deren nationalität ein)

rounds.php http://www.http://www.paste-code.com/paste.php?id=t5mGP9fXGz
rounds.tpl http://www.paste-code.com/paste.php?id=6RGBqxayt9

ich bin halt alles andere als nen experte in php, eher nen bastler.

im moment ist so. den ersten user eintragen klappt super.
mit dem 2ten klappt es gar nicht.

schiebe ich jetzt in der rounds.php die zeilen 117-122 in die zeile 97, dann klappt es bedingt. das problem ist, ich krieg die id des 2ten spielers gespeichert - allerdings nur wenn ich bei rounds_xversusx 1v1 eintrage, ist dort 2v2 auswählt, speichert er bloß die "0" - was meiner meinung nach ebenso "0" sinn ergibt.

nen weiteres ist problem (also tritt nur auf, wenn ich das obige verschiebe ^^), dass wenn ich im feld für user1 nen user ausgewählt habe - ich bei user2 nur noch den nickname von user1 angezeigt bekomme. trag ich allerdings nen andern user(nicknamen) manuell ein, dann wird die richtige id gespeichert (denke liegt an der rounds.tpl???)
trage ich bei user1 nichts ein und fange mit user2 an, dann wird gar nichts "auto vervollständigt".

wäre super wenn mir jemand helfen kann!!!



dann gibts noch 2 andere dinge, die ich danach versuchen werde in die rounds.tpl einzubauen.
einmal hätte ich gern diese länderliste, um wie gesagt bei den gegnern die nationalität einzubauen (sieht man ja schon in der rounds.tpl) - wäre super wenn mir jmd sagen könnte wie.

und ich würde gern in der rounds tabelle, eben so die games_id automatisch eintragen, wie es mit der wars_id schon passiert. hab das mit

 
1.
2.
3.
4.
1. / 2. / ... 
 
  
    $get_game_id 
cs_sql_select(__FILE__,'wars','games_id','wars_id = \''.$cs_rounds['wars_id'].'\''); 
$cs_rounds['games_id'] = $get_game_id;


versucht (befindet ja schon wegen der mapauswahl in der rounds.php), klappte allerdings nicht.



danke schonmal


EDIT: die page um die es geht ist diese: http://www.teamtitans.de.ms/
EDIT2: da gibts direkt noch was , wie ihr in der news sehen könnt haben die user namen (hab schiris abcode eingebaut), in der mitte (nach 3-4 zeichen) teilweise ein leerzeichen. das ist auch zum verrückt werden. hatte sowas allerdings schonmal beim cs abcode, wenn ich fettgedruckten text mit justify ausgerichtet habe. die lücke tritt allerdings auch auf, wenn der text nicht fett gedruckt ist. allerdings stört mich das im moment bei weitem nicht so, wie das mit den rounds ^^ - deswgeen wenn mir hierzu jmd helfen möchte, geb ich da nochmal genauere infos


Zuletzt editiert von malice am 20.09.2010 um 04:45 Uhr (2x Editiert)
Inaktiv
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 1 - 21.09.2010 um 08:39 Uhr
Also dein code ist erstens unuebersichtlicht.
Zweitens:
 
1.
2.
3.
4.
5.
1. / 2. / ... 
       <input type="text" name="users_nick1" id="users_nick" value="" autocomplete="off" onkeyup="Clansphere.ajax.user_autocomplete('users_nick', 'search_users_result' ,'{page:path}')" maxlength="80" size="40" /><br />
       <
div id="search_users_result"></div>
     <
input type="text" name="users_nick2" id="users_nick" value="" autocomplete="off" onkeyup="Clansphere.ajax.user_autocomplete('users_nick', 'search_users_result' ,'{page:path}')" maxlength="80" size="40" /><br />
        <
div id="search_users_result"></div>
 


Da ist alles doppelt, das geht eh falsch, das sollte sein (beachtte die 1 und 2):
 
1.
2.
3.
4.
5.
1. / 2. / ... 
       <input type="text" name="users_nick1" id="users_nick1" value="" autocomplete="off" onkeyup="Clansphere.ajax.user_autocomplete('users_nick1', 'search_users_result1' ,'{page:path}')" maxlength="80" size="40" /><br />
       <
div id="search_users_result1"></div>
     <
input type="text" name="users_nick2" id="users_nick2" value="" autocomplete="off" onkeyup="Clansphere.ajax.user_autocomplete('users_nick2', 'search_users_result2' ,'{page:path}')" maxlength="80" size="40" /><br />
        <
div id="search_users_result2"></div>
 


Wenn du das 6 mal machst...

Und ab zeil 121 gehts auch falsch in dein code:
 
1.
2.
3.
1. / 2. / ... 
   $cs_rounds['user2_id'] = $user2_data['users_id'];  
  
//---------------
  
$cs_rounds['user2_id'] = $_ POST['user2_id']; 


Erst setzt du die users_id ueber die abfrage von users_nick2 im datenbank und dan setzt du du ueber den post.
Du musst wegen sicherheit eh die $_ POST['users2_id'] zu ein (int) convertieren


Inaktiv
|
malice
Thread-Ersteller


Try to beat me




Beiträge: 122
# Antwort: 2 - 21.09.2010 um 13:44 Uhr
Danke schonmal mit dem tpl zeug!!! Ich hatte im wiki nirgends gefunden was dieses onkeyup="Clansphere.ajax.user_autocomplete genau macht und hätte nie gedacht, dass ich innerhalb der klammern "users_nick" verändern darf.

ich hab jetzt bei zeile 123 im code das
 
1.
1. / 2. / ... 
 $cs_rounds['user2_id'] = $_ POST['user2_id']; 

einfach rausgenommen und es geht alles (hab gesehen, dass ich es bei user1_id gar nicht im code hatte).
allerdings meintest du ich soll es aus sicherheitsgründen durch

 
1.
1. / 2. / ... 
 $cs_rounds['user2_id'] = (int) $_ POST['user2_id']; 


ersetzen (also ist das richtige befehl um es in ein int zu konvertieren???)?



ich hätte da noch ne andere frage bezüglich php ^^.

 
1.
1. / 2. / ... 
 $user2_nick = empty($_REQUEST['users_nick2']) ? '' $_REQUEST['users_nick2'];


das:
 
1.
1. / 2. / ... 
 ? :
ist ja sowas wie if else. aber was macht REQUEST???


Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 3 - 21.09.2010 um 14:03 Uhr
$_ REQUEST ist zusammenfuegung von $_ POST, $_ GET und $_ COOKIE variabelen, die in die reihenfolge des php ini settings 'variables_order' (oder seit PHP 5.3 'request_order') zugefuegt werden (doppelte werte werden ueberschrieben).


Inaktiv
|
malice
Thread-Ersteller


Try to beat me




Beiträge: 122
# Antwort: 4 - 21.09.2010 um 14:28 Uhr
danke


wenn ich in meiner rounds.php bei zeile 106-110
den teil

 
1.
2.
3.
4.
5.
6.
1. / 2. / ... 
 //---------------
  
$user1_nick = empty($_REQUEST['users_nick1']) ? '' $_REQUEST['users_nick1'];
  
$where_user1 "users_nick = '" cs_sql_escape($user1_nick) . "'";
  
$user1_data cs_sql_select(__FILE__'users''users_id'$where_user1);
  
$cs_rounds['user1_id'] = $user1_data['users_id'];
  
//---------------


zu
 
1.
2.
3.
4.
5.
6.
7.
1. / 2. / ... 
 //---------------
  
$user1_nick = empty($_REQUEST['users_nick1']) ? '' $_REQUEST['users_nick1'];
  
$where_user1 "users_nick = '" cs_sql_escape($user1_nick) . "'";
  
$user1_data cs_sql_select(__FILE__'users''users_id'$where_user1);
  
$cs_rounds['user1_id'] = $user1_data['users_id'];
  
$cs_rounds['user1_id'] = (int) $_ POST['user1_id']; 
  
//---------------


umbaue, kriege ich beim aufrufen der seite die folgende fehlermeldung

Parse error: syntax error, unexpected T_STRING in /home/www/cwcity/hosting/b/o/boscobaracus/htdocs/mods/wars/rounds.php on line 111
aslo 111 ist genau die zeile in der ich das zur int konvertiere

nur mit

 
1.
2.
3.
4.
5.
6.
1. / 2. / ... 
 //---------------
  
$user1_nick = empty($_REQUEST['users_nick1']) ? '' $_REQUEST['users_nick1'];
  
$where_user1 "users_nick = '" cs_sql_escape($user1_nick) . "'";
  
$user1_data cs_sql_select(__FILE__'users''users_id'$where_user1);
  
$cs_rounds['user1_id'] = $user1_data['users_id'];
  
//---------------


funktioniert es - aber du meinst es sei nicht sicher, was mach ich denn jetzt da? ^^


Zuletzt editiert von malice am 21.09.2010 um 14:29 Uhr (2x Editiert)
Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 5 - 21.09.2010 um 22:48 Uhr
Der $_ POST muss eh nicht dahin, und $_ POST soll geschrieben werden ohne lehrzeichen.
Nur geht das hier im forum nicht wegen ein oder andere schlecht configurierten mod_security von Apache...

Wieso den $_ POST ueberhaupt von users_id, der wird doch nicht aus den formular mitgeschickt?


Inaktiv
|
malice
Thread-Ersteller


Try to beat me




Beiträge: 122
# Antwort: 6 - 22.09.2010 um 21:00 Uhr
danke für den denk anstoß
ich hab nich wirklich ahnung von php. hab mal das quakenet tut gelesen, kam damit aber irgendwie nicht richtig klar und hab mir dann mal php-einfach.de durchgelesen und versuch halt grad das son bissl learning by doing zu lernen.
hab vor 5 jahren mal bissl c++ programmieren müssen - das wars dann auch aber auch mit meiner programmier erfahrung.

ich hab jetzt, wo das mit den user nicks klappt

http://www.paste-code.com/paste.php?id=YqQA2KhtTf

noch die gegner nationalitäten eingeführt.

das komische ist, dass er bei opponent3_country immer nur "fam" in der db speichert. alle andern klappen, wäre cool wenn du mir mal sagen könntest woran das liegt.

vielleicht könnteste du mir ja auch ne idee für ne schleife oder so geben, damit da nicht immer 6mal der gleiche code steht, wo bloß eine zahl geändert ist ^^



EDIT: hat sich erstmal erledigt, duriel hilft mir jetzt das stats modul ganz anders aufzubauen - sorry für die "verschwendete zeit" (hab ja was gelernt ) und denke nochmal mindcrime!


Zuletzt editiert von malice am 24.09.2010 um 20:52 Uhr (2x Editiert)
Inaktiv
|
Antworten: 6
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo