anpera.net https://anpera.dyndns.org/phpbb3/ |
|
komentare und aktualisieren https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=1391 |
Seite 1 von 2 |
Autor: | danielm [ So 22 Mai, 2005 21:02 ] |
Betreff des Beitrags: | komentare und aktualisieren |
ich hab folgendes Problem ich will das in meiner gilde "spötter" der kommentar hinzukommt das gold abgehoben wird klappt alles soweit das prob ist nur wen man jetztt auf aktualisieren klickt kommt daselbe nochmal und immer weiter hier der code $this->bbcode_second_pass_code('', '$sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'spotter".$row[gilden]."',".$session[user][acctid].",'/me `\$nimmt `#$_POST[amount]`^ Gold.')"; db_query($sql) or die(db_error(LINK));') hoffe ihr könnt mir helfen |
Autor: | Devilzimti [ So 22 Mai, 2005 21:10 ] |
Betreff des Beitrags: | |
um welche Gilden geht es? |
Autor: | danielm [ So 22 Mai, 2005 21:21 ] |
Betreff des Beitrags: | |
meine eigenen da mir die gilden dies bis jetzt gibt entweder die balance kaputt machen oder net das haben was ich brauch also hab ich mir nun die castle.php genommen trainingslager gezogen (lief alles super) also etwas schwierigeres gold lagern und mitnehmen läuft soweit auch gut nun wollt ich halt das wn wer was lagert pder etwas mitnimmt das das angezeigt wird in den houses.php nachgeschaut aber da war nix was mir geholfen hat |
Autor: | anpera [ So 22 Mai, 2005 22:38 ] |
Betreff des Beitrags: | |
Nun, wenn ein Klick benötigt wird, um das Ereignis immer wieder auszulösen, steckt der Fehler nicht im SQL-Befehl, sondern im Script. Vermutlich wird der SQL-Befehl mit jedem klick auf Aktualisieren erneut ausgeführt. Das Script ist aber weder zugänglich, noch hast du es gepostet. Und weil ich - wie alle hier - nicht hellsehen kann (und im Dunkeln sogar noch weniger sehe), kann ich dir nicht weiterhelfen. ![]() |
Autor: | danielm [ Mo 23 Mai, 2005 05:53 ] |
Betreff des Beitrags: | |
^^ oh sorry ich kan das script mal posten im internet hab ich leider noch kein wirklichen server bin aber dabei ein zu bkommen $this->bbcode_second_pass_code('', '<?php require_once "common.php"; addcommentary(); checkday(); page_header("Die Spötter"); if ($_GET[op] == "eingang"){ if ($session['user']['diebe']==1){ output("`7Du kommst wie gewonnt in dein zweitten Heim dem `\$Spötter-Unterschlupf `7 du gehst wie immer durch das alte vergammelte Haus, bis du zu einem Abflußähnlichen Rohr kommst du klopfst 3mal mit deinem Dolch und unterschliechem druck auf das rohr und es öffnet sich eine Luke"); output("`7 Du kletterst nach unten und rennst verschiedene gänge endlang bis du letzendlich \"`4bei mutter\" `7dem `\$Spötter-versteck ankommst"); output("`7 Vor dier sitzt der anführer der `\$Spötter`7, Der `5Aufrechte`7 wie er genannt wird"); output("Die Gilde hat `^".$session[gilden][diebegold]." Gold`0 Gelagert "); page_header("bei Mutter (Spötter-unterschlupf)"); output("`%`@ `n"); output("`n`n`%`@In der Nähe reden viele andere Diebe:`n"); viewcommentary("spotter","Hinzufügen",25); /********Gilden Navigation anfang********/ addnav("Gilde"); addnav("Trainingsraum","spotter.php?op=train"); addnav("Info","spotter.php?op=schau"); addnav("Schatzkammer"); addnav("Gold Lagern","spotter2.php?op=deposit"); addnav("Gold Abheben","spotter2.php?op=withdraw"); addnav("Sonstiges"); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); addnav("Austreten","spotter.php?op=austritt1"); /********Gilden Navigation ende********/ }else if ($session['user']['magier']==1 || $session['user']['piraten']==1){ output("`@Du kannst leider nur einer Gilde zur selben Zeit angehören, komm wieder wenn du bei deiner Gilde ausgetreten bist."); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); }else{output("`7Du betrittst das Haus der `\$Spötter`7-Gilde und wunderst dich das hier fast niemand ist!"); output("`7Ein Man sagt dir das es `@2`20`@.0`20`@0`2G`@o`2l`@d`7 Kostet in die `\$Spötter`7-Gilde zu kommen"); addnav("Beitreten","spotter.php?op=beitritt"); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); } }else if ($_GET[op] == "beitritt"){ page_header("bei den Spöttern beitreten"); if ($session['user']['gold']>19999){ $session['user']['gold'] -= 20000; $session['user']['diebe'] = 1; $session['user']['gilde'] = '`$Spötter'; output(" `n`n`2`b`cDu bist jetzt ein mitglied in der `\$Spötter-Gilde!`c`n"); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); addnav("Zu der `\$Spötter-Gilde","spotter.php?op=eingang"); }else{ output("`n`n`2Leider hast du nicht genug Gold dabei, komm doch später wieder vorbei!`n"); output("`n`n"); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); } }else if ($_GET[op] == "austritt1"){ output("`@Sicher das du aussteigen willst?!`n"); addnav("Ja"); addnav("Ja","spotter.php?op=austritt"); addnav("Nein"); addnav("Nein","gildenstrasse.php"); }else if ($_GET[op] == "austritt"){ page_header("Spötter-Gilde austreten"); $session['user']['diebe'] = 0; $session['user']['gilde'] = 'Keine'; output(" `n`n`2`b`cDu bist bei der `\$Spötter-Gilde`2 ausgetreten!`c`n"); addnav("Zurück zur Gildenstrasse","gildenstrasse.php"); } /********Gilden Info********/ if ($_GET[op] == "schau"){ page_header("Die Spötter"); output("`7Die Gilde der `\$Spötter`7 ist eine gilde wie jede andere obwohl das haus immer sehr leer aussieht, jedoch täglich mehrere hundert leute hinein gehen!"); if ($session['user']['diebe']==1){ addnav("Zurück","spotter.php?op=eingang"); }else{ addnav("Zurück","gildenstrasse.php"); /********Training Room********/ }}elseif ($_GET[op]=="train"){ output("`#Du betrittst den Trainingsraum und schaust dich um. Du siehst diverse Schwerter, Dummies und Trainer. Hier kannst du Waldkämpfe zum Trainieren verbringen und gefahrlos deine Erfahrung steigern.`n"); if ($session[user][turns] < 1){ output("`n`n`%Du hast leider keine Waldkämpfe zum Trainieren übrig!"); }else{ output("`%Wieviele Runden willst du trainieren?`n"); output("<form action='spotter.php?op=train2' method='POST'><input name='trai' id='trai'><input type='submit' class='button' value='Trainieren'></form>",true); output("<script language='JavaScript'>document.getElementById('trai').focus();</script>",true); addnav("","spotter.php?op=train2"); } addnav("zurück","spotter.php?op=eingang"); }elseif ($_GET[op]=="train2"){ $trai = abs((int)$_GET[trai] + (int)$_POST[trai]); if ($session[user][turns] <= $trai) $trai = $session[user][turns]; if ($session[user][turns]<=0){ output("`^Du fällst erschöpft um und landest sehr unsanft auf dem rauhen Boden, bevor du trainieren konntest. Du verlierst einen Teil deiner Lebensenergie."); $session[user][hitpoints]=round($session[user][hitpoints]*0.8); if ($session[user][hitpoints]<=0) $session[user][hitpoints]=1; }else{ $session[user][turns]-=$trai; $exp = $session[user][level]*e_rand(5,12)+e_rand(0,9); $totalexp = $exp*$trai; $session[user][experience]+=$totalexp; output("`^Du trainierst $trai Runden und bekommst $totalexp Erfahrungspunkte!`n"); } addnav("zurück","spotter.php?op=eingang"); } /********Gold einzahlen********/ }else if($_GET[op]=="deposit"){ output("<form action='spotter.php?op=depositfinish' method='POST'>Die Gilde hat schon `^".$session[gilden][diebegold]." Gold`0 Gelagert",true); output("`^Wie viel einzahlen: <input id='input' name='amount' width=5 accesskey='v'> <input type='submit' class='button' value='Einzahlen'>`n`i`i</form>",true); output("<script language='javascript'>document.getElementById('input').focus();</script>",true); addnav("","spotter.php?op=depositfinish"); addnav("Zurück","spotter.php?op=eingang"); }else if($_GET[op]=="depositfinish") if ($_POST[amount]>$session[user][gold]){ output("`\$FEHLER: Soviel Gold hast du nicht dabei.`^`n`n"); output("Du willst die `&$_POST[amount]`^ Gold in die Gilde einzahlen."); output("`n`ndu merkst aber plötzlich das du garnicht soviel hast, aber wozu soll ein Krieger auch rechnen können?"); addnav("Zurück","spotter.php?op=eingang"); }else{ output("`^`bDu zahlst `&$_POST[amount]`^ Gold in die Gilde ein. "); $session[gilden][diebegold]+=$_POST[amount]; $session[user][gold]-=$_POST[amount]; addnav("Zurück","spotter.php?op=eingang"); output("Die Gilde hat damit ein Guthaben von `&".($session[gilden][diebegold])."`^ Gold, und du hast noch `&".$session[user][gold]."`^ Gold bei dir.`b"); /********Gold mitnehem********/ }else if($_GET[op]=="withdraw"){ output("<form action='spotter.php?op=withdrawfinish' method='POST'>Du hast ".$session[gilden][diebegold]." Gold bei der Bank.`n",true); output("`^Wieviel abheben? <input id='input' name='amount' width=5 accesskey='b'> <input type='submit' class='button' value='Abheben'>`n`i`i</form>",true); output("<script language='javascript'>document.getElementById('input').focus();</script>",true); addnav("","spotter.php?op=withdrawfinish"); addnav("Zurück","spotter.php?op=eingang"); }else if($_GET[op]=="withdrawfinish"){ $_POST[amount]=abs((int)$_POST[amount]); if ($_POST[amount]==0){ $_POST[amount]=abs($session[gilden][diebegold]); }if ($_POST[amount]>$session[gilden][diebegold] && $_POST[borrow]=="") { output("`\$FEHLER: Nicht genug gold in der Gilde.`^`n`n"); output("Nachdem du gemerkt hast das die Gilde nur `&".$session[gilden][diebegold]."`^ Gold besitzt und du `&$_POST[amount]`^ Gold davon abheben wolltest lässt dus lieber."); addnav("Zurück","spotter.php?op=eingang"); }else{ output("`^`bDu nimmst `&$_POST[amount]`^ Gold aus der Gilde mit. "); $session[gilden][diebegold]-=$_POST[amount]; $session[user][gold]+=$_POST[amount]; addnav("Zurück","spotter.php?op=eingang"); output("Die Gilde hat damit noch ein Guthaben von `&".($session[gilden][diebegold])."`^ Gold, und du hast wieder `&".$session[user][gold]."`^ Gold bei dir.`b");}} $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'spotter".$row[gilden]."',".$session[user][acctid].",'/me `\$nimmt `#$_POST[amount]`^ Gold.')"; db_query($sql) or die(db_error(LINK)); page_footer(); ?>') |
Autor: | anpera [ Mo 23 Mai, 2005 13:49 ] |
Betreff des Beitrags: | |
Nur ein Klammerfehler. Der SQL-Befehl steht direkt vor page_header() und wird dadurch bei jedem Aufruf dieses Scripts ausgeführt. Der letzte Absatz, wie er funktionieren müsste: [php]}else if($_GET['op']=="withdrawfinish"){ $_POST['amount']=abs((int)$_POST['amount']); if ($_POST['amount']==0){ $_POST['amount']=abs($session['gilden']['diebegold']); } if ($_POST['amount']>$session['gilden']['diebegold'] && $_POST['borrow']=="") { output("`\$FEHLER: Nicht genug gold in der Gilde.`^`n`n"); output("Nachdem du gemerkt hast das die Gilde nur `&".$session['gilden']['diebegold']."`^ Gold besitzt und du `&{$_POST['amount']}`^ Gold davon abheben wolltest lässt dus lieber."); addnav("Zurück","spotter.php?op=eingang"); }else{ output("`^`bDu nimmst `&{$_POST['amount']}`^ Gold aus der Gilde mit. "); $session['gilden']['diebegold']-=$_POST['amount']; $session['user']['gold']+=$_POST['amount']; addnav("Zurück","spotter.php?op=eingang"); output("Die Gilde hat damit noch ein Guthaben von `&".($session['gilden']['diebegold'])."`^ Gold, und du hast wieder `&".$session['user']['gold']."`^ Gold bei dir.`b"); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'spotter".$row['gilden']."',".$session['user']['acctid'].",'/me `\$nimmt `#{$_POST['amount']}`^ Gold.')"; db_query($sql) or die(db_error(LINK)); } } page_footer(); ?>[/php] |
Autor: | danielm [ Mo 23 Mai, 2005 14:23 ] |
Betreff des Beitrags: | |
ok danke ich werds nachher mal ausprobieren thx |
Autor: | danielm [ Di 24 Mai, 2005 20:18 ] |
Betreff des Beitrags: | |
so ok läuft perfekt so nächstes prob wen ich gold/gems einzahle werden diese angezeigt so wen ich dan logout mach und längere zeit net on gehe und dan in die gilde geh wird nix mehr angezeigt und es ist kein gold mehr da woran liegts ich bitte um hilfe ich hab nun endlich nen server Meine Source |
Autor: | Eliwood [ Di 24 Mai, 2005 20:29 ] |
Betreff des Beitrags: | |
danielm hat geschrieben: so ok läuft perfekt so nächstes prob wen ich gold/gems einzahle werden diese angezeigt so wen ich dan logout mach und längere zeit net on gehe und dan in die gilde geh wird nix mehr angezeigt und es ist kein gold mehr da woran liegts ich bitte um hilfe ich hab nun endlich nen server
Meine Source Könnte es sein, dass ein Drachenkill dazwischen lag? |
Autor: | danielm [ Di 24 Mai, 2005 21:12 ] |
Betreff des Beitrags: | |
he he ne schön wärs daran hab ich auch schon gedacht |
Autor: | Meteora [ Di 24 Mai, 2005 21:13 ] |
Betreff des Beitrags: | |
und wie hast du $session[gilden][*] definiert? evtl liegts daran |
Autor: | danielm [ Di 24 Mai, 2005 21:17 ] |
Betreff des Beitrags: | |
wie meinst du das? |
Autor: | Meteora [ Di 24 Mai, 2005 21:20 ] |
Betreff des Beitrags: | |
$session[user][*] wird ja in der saveuser()-funktion 'ausgeführt' ![]() irgendwie muss es ja mit den gilden gleich gehen |
Autor: | danielm [ Di 24 Mai, 2005 21:24 ] |
Betreff des Beitrags: | |
ich hab null peil von sql ich hab mir andere sachen angeschaut und infach eingebaut hier alles was ich eingebaut hab $this->bbcode_second_pass_code('', 'CREATE TABLE `gilden` ( `ligagold` int(11) NOT NULL default '0', `avalgold` int(11) NOT NULL default '0', `shingold` int(11) NOT NULL default '0', `yevogold` int(11) NOT NULL default '0', `ligagems` int(11) NOT NULL default '0', `avalgems` int(11) NOT NULL default '0', `shingems` int(11) NOT NULL default '0', `yevogems` int(11) NOT NULL default '0' ) ENGINE=MyISAM;') ich hoffe du meintest das |
Autor: | danielm [ Do 26 Mai, 2005 11:02 ] |
Betreff des Beitrags: | |
kan mir nun bitte wer helfen ich bin am verzweifeln |
Autor: | danielm [ Fr 27 Mai, 2005 16:30 ] |
Betreff des Beitrags: | |
warum antwortet keiner ![]() |
Autor: | Kevz [ Fr 27 Mai, 2005 16:32 ] |
Betreff des Beitrags: | |
Was isn nu dein prob? |
Autor: | danielm [ Fr 27 Mai, 2005 16:33 ] |
Betreff des Beitrags: | |
na wen ich gold oder gems in die gilde tue ist das ok dan geht auch alles aber sobald ich mich auslogge ist das gold wieder verschwunden muss ich die sql irgendwie updaten wen ja wie ich ken mich mit sql net wirklich aus |
Autor: | Kevz [ Fr 27 Mai, 2005 16:55 ] |
Betreff des Beitrags: | |
hast du das gilden gold etc. alles in einer extra db? Wenn ja musst du es nach dem transfer mit einem update befehl machen siehe bsp: $this->bbcode_second_pass_code('', 'update gildendb set gildengold = gildengold+$_POST[gold] where gildenid = $_GET[id]') Es müssen folgende felder angepasst werden: gildendb = tabelle der gilden tabelle angeben gildengold = hier den gildengold wert eingeben... $_POST[gold] = stellt die menge fest wieviel gezahlt wird gildenid = gildenid wert aus der tabelle angeben $_GET[id] = musst selbst anpassen weiß ja nicht wie du das machst |
Autor: | danielm [ Fr 27 Mai, 2005 17:31 ] |
Betreff des Beitrags: | |
ok soweit versteh ich das auser gildenid = gildenid wert aus der tabelle angeben $_GET[id] = musst selbst anpassen weiß ja nicht wie du das machst vieleicht kanste mir da auch helfen ich hab 4feste gilden also gildenliga.php, gildenyevo.php, gildenshin.php und gildenaval.php meine db einträge die ich hab sind: $this->bbcode_second_pass_code('', 'in accounts yevo,aval,liga,shin und gildenname') (für mein bio) und $this->bbcode_second_pass_code('', 'CREATE TABLE `gilden` ( `ligagold` int(11) NOT NULL default '0', `avalgold` int(11) NOT NULL default '0', `shingold` int(11) NOT NULL default '0', `yevogold` int(11) NOT NULL default '0', `ligagems` int(11) NOT NULL default '0', `avalgems` int(11) NOT NULL default '0', `shingems` int(11) NOT NULL default '0', `yevogems` int(11) NOT NULL default '0' ) ENGINE=MyISAM;') hoffe das reicht |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |