TWLan Forum
Tool mit Smarty - Printable Version

+- TWLan Forum (https://twlan.org)
+-- Forum: Deutsch (https://twlan.org/forumdisplay.php?fid=1)
+--- Forum: Gott und die Welt (https://twlan.org/forumdisplay.php?fid=4)
+--- Thread: Tool mit Smarty (/showthread.php?tid=4176)



Tool mit Smarty - knollenmax - 04.05.2011

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...


RE: Tool mit Smarty - Yannici - 04.05.2011

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


RE: Tool mit Smarty - SlimShady95 - 04.05.2011

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


RE: Tool mit Smarty - Yannici - 04.05.2011

Ja, danke Manu!
Und {$user.id} natürlich die ID... Smile

so far
Yannici


RE: Tool mit Smarty - knollenmax - 04.05.2011

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?


RE: Tool mit Smarty - Yannici - 04.05.2011

(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


RE: Tool mit Smarty - knollenmax - 04.05.2011

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...


RE: Tool mit Smarty - Yannici - 04.05.2011

(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



RE: Tool mit Smarty - knollenmax - 04.05.2011

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...