Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tool mit Smarty
#1
Hi,

ich programmiere gerade ein Tool für die dsLan.

Ich kenne mich mit den Templates (Smarty) nur gaaaaaaanz wenig aus... jetzt wollte ich, da ich mal wieder etwas in {php}...{/php} scripte muss, den aktuellen Username in einer Variable abspeichern... wenn man "normal" in den template Dateien arbeitet, heißt es ja: {$user.username}...

gibts eine Funktion die den aktuellen username zurückgibt?

lg
knollenmax

edit: die Id bräuchte ich auch...
Reply
#2
Zwischen den {php} und {/php} Tags kannst du ganz normal PHP schreiben, also kannst du den Username & ID einfach anhand
von $_GET['village'] aus der Village-Tabelle und die ID danach aus der User-Tabelle auslesen. Smile

so far
Yannici
Manchmal denke ich:
Reply
#3
Also so:

Code:
{php}
$result_vil = mysql_query('SELECT * FROM `villages` WHERE `id` = ' . mysql_escape_string($_GET['village']));
$data_vil = mysql_fetch_assoc($result_vil);
$result_user = mysql_query('SELECT * FROM `users` WHERE `id` = ' . mysql_escape_string($data_vil['userid']));
$data_user = mysql_fetch_assoc($result_user);

// Den Usernamen in Smarty speichern
$this->_tpl_vars['user'] = $data_user;
{/php}

Ungetestet, sollte aber funzen Wink

Edit: Username wäre dann {$user.username}

MfG Manuel
Reply
#4
Ja, danke Manu!
Und {$user.id} natürlich die ID... Smile

so far
Yannici
Manchmal denke ich:
Reply
#5
Stimmt, dass ich da nicht draufgekommen bin Wink finde das Smarty iwie ein bisschen komisch... eine Frage noch was ist mysql_escape_string für eine Funktion?
Reply
#6
(04.05.2011, 15:03)knollenmax Wrote: Stimmt, dass ich da nicht draufgekommen bin Wink finde das Smarty iwie ein bisschen komisch... eine Frage noch was ist mysql_escape_string für eine Funktion?

Also wenn die genau so arbeitet wie "mysql_real_escape_string", dann ist die dafür da, dass alle Sonderzeichen ignoriert werden. SQLi (SQL Injection) nennt man sowas auch! Man kann nämlich über ein GET die ganze Abfrage manipulieren und gegebenfalls sogar die Datenbank crashen Tongue

so far
Yannici
Manchmal denke ich:
Reply
#7
hast recht das habe ich gar nicht bedacht... aber was will man schon groß bei so einem dslan tool anstellen??!!

bei einem bg ist das wohl wichtiger... und wenn du bei der dslan dann zB keine gültige vId eingibst, wirst du sofort auf deine Dorfübersicht weitergeleitet...
Reply
#8
(04.05.2011, 17:11)knollenmax Wrote: hast recht das habe ich gar nicht bedacht... aber was will man schon groß bei so einem dslan tool anstellen??!!

bei einem bg ist das wohl wichtiger... und wenn du bei der dslan dann zB keine gültige vId eingibst, wirst du sofort auf deine Dorfübersicht weitergeleitet...

Ja, hab ich auch gedacht. Naja, aber wenn dann einen im Raum sitzen hast der bisschen SQL (geschweigedenn SQLi) kann und dieser kein Bock mehr hat, kann der gleich mal die Lan zerstören...

so far
Yannici
Manchmal denke ich:
Reply
#9
ok, aber bei uns kann fast niemand sql und selbst dann müsste er auch noch php können, um zu verstehen welche get er manipulieren muss... aber wenn man sql kann, könnte man das genauso gut auch über phpmyadmin machen, denn wenn man da kennwort reinmacht geht die karte nicht mehr... falls jmd wirklich deine lan zum absturz bringt, ist das natürlich mehr ärgerlich je desto länger die lan lief... wir haben meistens schon nach 1h keinen bock mehr, da sich dann die version 1.4 buggt und beim adeln / angreifen die angriffe immer doppelt kommen, die angriffszahlen sich nicht zurücksetzen und man manchmal einfach so truppen geschenkt bekommt...
Reply




Users browsing this thread: 1 Guest(s)