anpera.net
https://anpera.dyndns.org/phpbb3/

Problem [gelöst]
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=3594
Seite 1 von 3

Autor:  Alkatar91 [ Sa 21 Apr, 2007 23:41 ]
Betreff des Beitrags:  Problem [gelöst]

Also...Ich hab das Monstermeldesystem von Rabenthal glaub ich und da wollte ich halt noch einbauen, das ne neue Sichtung 15 Donationpoints gibt... soweit so gut...
Ich hab also logischerweise die Tabelle, wo die Monster bis zur übergabe zwischengespeichert werden um eine Spalte erweitert, für die Autorid.
so
jetzt hab ich in der Dings, wo das Monster von der Temporären Tabelle in die richtige übertragen wird folgendes gemacht:
[php]
else if($_GET[act] == "isok"){
$sql2 = "SELECT * FROM monsterreg WHERE name='$_GET[name]'";
$result2 = db_query($sql2);
for ($i=0;$i<db_num_rows($result2);$i++){
$row2 = db_fetch_assoc($result2);
$name = $row2[name];
$waffe = $row2[waffe];
$satz = $row2[satz];
$level = $row2[level];
$grave = $row2[who];
$id = $row[AutorID];
}
$exp=$level*14;
$gold=$level*36;
$healt=$level*10;
$attack=$level;
$defence=$level;
$oldexp=$level*14;

$sql="INSERT INTO creatures (creaturename,creaturelevel,creatureweapon,creaturelose,createdby,location,creaturegold,creatureexp,creaturehealth,creatureattack,creaturedefense,oldcreatureexp)
VALUES ('$name','$level','$waffe','$satz','User','$grave','$gold','$exp','$healt','$attack','$defence','$oldexp')";
$result = db_query($sql);

$sql3 = "SELECT * FROM monsterreg WHERE name='$_GET[name]'";
$result3=db_query($sql3);

$Autor = db_fetch_assoc($result3);
$AutorID=$Autor[AutorID];
output("$AutorID`n");
systemmail("$AutorID","Monstersichtung Bestätigt","`!Du hast `$15 `!Donationpoints für deine neue Sichtung erhalten");

$sql6 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result6=db_query($sql6);

$DoTemp = db_fetch_assoc($result6);
$Dona=$DoTemp[donation];
output("`@$Dona`n");
$Dona=$Dona+15;
output("`!$Dona`n");

$sql28 = "UPDATE accounts SET donation='$Dona' WHERE acctid='$AutorID'";
$result28=db_query($sql28);

$sql5="DELETE FROM monsterreg WHERE name='$_GET[name]'";
$result5=db_query($sql5);

$sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29);

$Do2 = db_fetch_assoc($result29);
$Don2=$Do2[donation];
output("`@$Don2`n");
output("Neues Monster eingefügt!");
}
[/php]

So weit so gut.
wenn ich dann ein Monster übernehme, schickt der die Mail und spuckt wie auch erwartet und wie gewollt folgendes aus:
$this->bbcode_second_pass_code('', '
1
2762
2777
2777
Neues Monster eingefügt
')
AutorID ist 1, was auch stimmt
meine Donationpoints vorher sind 2762(Richtig)
meine Soll-Donationpoints sind 2777(Richtig)
und meine Aktuellen Donationpoints sind 2777
So mein problem ist jetzt aber, das ich weder in der Datenbank noch in der Jägerhütte noch sonstwo 2777 Donationpoints hab sondern überall 2762!
Ich bin da föllig am Ende jetzt :cry: :cry:
mfg
Alkatar91

Autor:  Nightborn [ So 22 Apr, 2007 08:30 ]
Betreff des Beitrags: 

Okay, ich argumentiere jetzt nicht über Struktur und Sinn... nur obs geht oder nicht...

$this->bbcode_second_pass_code('', ' $sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29); ')

<--wozu machst Du die, Du rufst das nicht ab...


deine anzeige kannst auch soweit knicken, daß $var=$var+15; geht, ist klar.

interessanter wäre nach obiger anzeige

$this->bbcode_second_pass_code('', '$row=db_fetch_assoc($result29);
output("Punkte in der Tabelle accounts jetzt: ".$row['donation']);
')

Du könntest bei Deiner UPDATE die Hochkommas für $Dona weglassen, es ist eh ein integerwert.

Autor:  Alkatar91 [ So 22 Apr, 2007 10:09 ]
Betreff des Beitrags: 

$this->bbcode_second_pass_code('', '
$sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29);')

Wird aber abgefragt, und zwar direkt dadrunter
$this->bbcode_second_pass_code('', '$sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29);

$Do2 = db_fetch_assoc($result29);
$Don2=$Do2[donation];
output("`@$Don2`n"); ')

Und da spuckt der mir ja auch die 2777 aus, aber in wirklichkeit ist das nit so-.-
mfg
Alkatar91

Autor:  Harthas [ So 22 Apr, 2007 10:18 ]
Betreff des Beitrags: 

[php]$sql28 = "UPDATE accounts SET donation='$Dona' WHERE acctid='$AutorID'";
db_query($sql28); [/php]

Und wenn du es so machst?[/php]

Autor:  Alkatar91 [ So 22 Apr, 2007 10:23 ]
Betreff des Beitrags: 

Negativ...funzt immer noch nit :cry: :cry:

Autor:  Harthas [ So 22 Apr, 2007 10:25 ]
Betreff des Beitrags: 

[php]$sql28 = "UPDATE accounts SET donation = $Dona WHERE acctid = $AutorID";
db_query($sql28); [/php]

Oder so?

Autor:  Alkatar91 [ So 22 Apr, 2007 10:26 ]
Betreff des Beitrags: 

auch nicht :cry:

Autor:  Harthas [ So 22 Apr, 2007 10:31 ]
Betreff des Beitrags: 

[php]$sql28 = "UPDATE accounts SET donation = $Dona WHERE acctid = $AutorID";
saveuser();
db_query($sql28); [/php]

Und so?

Autor:  Alkatar91 [ So 22 Apr, 2007 10:33 ]
Betreff des Beitrags: 

tuts auch nit-.-

Autor:  Harthas [ So 22 Apr, 2007 10:38 ]
Betreff des Beitrags: 

Sorry, hatte etwas vergessen.
[php]
$sql28 = "UPDATE accounts SET donation='$Dona' WHERE acctid='$AutorID'";
db_query($sql28);
$sql5="DELETE FROM monsterreg WHERE name='$_GET[name]'";
$result5=db_query($sql5);

$sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29);

$Do2 = db_fetch_assoc($result29);
$Don2=$Do2[donation];
output("`@$Don2`n");
output("Neues Monster eingefügt!"); [/php]
Das sollte in etwa so sein:
[php]
$sql5="DELETE FROM monsterreg WHERE name='$_GET[name]'";
$result5=db_query($sql5);

$sql29 = "SELECT donation FROM accounts WHERE acctid='$AutorID'";
$result29=db_query($sql29);

$Do2 = db_fetch_assoc($result29);
$Don2=$Do2[donation];
output("`@$Don2`n");
output("Neues Monster eingefügt!");

$sql28 = "UPDATE accounts SET donation='$Dona' WHERE acctid='$AutorID'";
saveuser();
db_query($sql28);
header("Location: DATEINAME.php");
exit();[/php]

DATEINAME durch den Namen der Datei ersetzen, und den Code eventuell etwas einrücken.
Allerdings werden so die Texte nicht ausgegeben... Aber zumindest deine eigenen Daten richtig in die Datenbank geschrieben.

Autor:  Alkatar91 [ So 22 Apr, 2007 10:44 ]
Betreff des Beitrags: 

Danke ich werds später mal versuchen, weil ich bin grad inner badnavschleife gelandet-.-

Autor:  Alkatar91 [ So 22 Apr, 2007 10:53 ]
Betreff des Beitrags: 

hab mich da ma rausgehauen, aber es ist immer das gleiche...badnavschleife

Autor:  Harthas [ So 22 Apr, 2007 11:00 ]
Betreff des Beitrags: 

[php]UPDATE `accounts` SET `output` = '', `allowednavs` = '', `restorepage` = '' WHERE `acctid` = 'DEINEID'[/php]

Versuch es mal damit über phpMyAdmin

Autor:  Alkatar91 [ So 22 Apr, 2007 11:02 ]
Betreff des Beitrags: 

Ja hab ich schon, aber immer wenn ich jetzt ein Monster übernehmen will schickt der mich wieder in eine Badnavschleife. Aber wenigstens funzt das jetzt mit den donationpoints-.-

Autor:  Alkatar91 [ So 22 Apr, 2007 12:24 ]
Betreff des Beitrags: 

Fällte irgendwem dazu ne lösung ein?

Autor:  Harthas [ So 22 Apr, 2007 13:24 ]
Betreff des Beitrags: 

Füge ein
[php]addnav("","DATEINAME.php"); [/php]
Vor
[php]header("Location: DATEINAME.php");[/php]
ein.

Autor:  Alkatar91 [ So 22 Apr, 2007 13:32 ]
Betreff des Beitrags: 

Das bringt nix, ich lande nach wie vor in einer Badnav schleife

Autor:  Harthas [ So 22 Apr, 2007 13:41 ]
Betreff des Beitrags: 

Wie heisst die Datei?
Und ist sie in deiner Source einsehbar?

Autor:  Alkatar91 [ So 22 Apr, 2007 13:45 ]
Betreff des Beitrags: 

herrscherviertel.php
http://www.tbgames.de/logd/source.php?url=/logd/herrscherviertel.php
^da ist die source^
Beim Kommentar
//Monster aus Rathaus Addon 0.9 by Beleggrodion based on the Rabenthal rathaus
fängts an
ca. Zeile 285

Autor:  Harthas [ So 22 Apr, 2007 13:50 ]
Betreff des Beitrags: 

Okay, da bin ich inzwischen bereits ratlos und sehe nicht genau, was hier einen Badnav auslösen könnte... *grübel*...

Seite 1 von 3 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/