Neuigkeiten:

still alive...

Hauptmenü

Verändern von Werten in der Tabelle

Begonnen von iron_net, 07. Januar 2006, 19:05:29

Vorheriges Thema - Nächstes Thema

iron_net

Hallo,
ich bin dabei, ein Kontensystem zu programmieren. Probleme bereitet mir die Überweisungsfunktion, sprich eine php-Seite, auf der man die Kontonummer (Listenspalte 2 der myqsl-Tabelle, \"Nummer\") zuerst des eigenen und dann des Zeilkontos eintragen muss, dann sein eigenes Passwort (Spalte 3, \"Pass\") und schließlich den Überweisungsbetrag. Dieser muss in Spalte 4 (\"Wert\") in der eigenen Zeile abgezogen und in der Ziel-Zeile addiert werden. Vorher muss das Passwort noch auf seine Richtigkeit überprüft werden. Bin leider noch kompletter Anfänger in php, kann mir jemand helfen?

Also was genau bereitet dir denn Probleme? Die Passwortüberprüfung, das Subtrahieren oder das Eintragen des Datensatzes in die Tabelle?

iron_net

Alles, das ist es ja gerade. Die Tabelle anlegen ist kein Problem, neue Zeilen anlegen und auslesen auch nicht, aber wie der Rest funktionieren soll...

raiser

da sollten vielleicht noch ein paar grundlagen her...  /uploads/emoticons/icon_e_sad.gif.cc8ba2b6b966c5e020020efa47702aab.gif\" alt=\":(\" />
versuch doch mal bissel code zu schreiben und das problem, so weit wie es geht,
selber zu lösen...
wenn du dann nicht mehr weiter kommst, poste den code mal und es wird dir bestimmt einer
bei weiteren überlegungen helfen.

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


iron_net

Joa da magste recht haben /uploads/emoticons/icon_e_wink.gif.fcb053ab2c91cb6224c03a16c6332abf.gif\" alt=\";)\" />
Also das ist meine php für die Überweisung:
 


 

Die Überweisung wurde ausgeführt.
Zurück zur Startseite Weitere Überweisung
 
Überweisungsauftrag
&Nummer2=&summ=$Wert\">
Nr. des Ausgangskontos
Passwort des Ausgangskontos
Nummer des Zielkontos
Betrag
Datum, Uhrzeit, eigener Name, Zweck
 
Zurück zur Startseite
 

 
Bisher soll es nur soweit funktionieren, dass der alte Stand des Kontos durch den eingegebenen Wert ersetzt wird. Alles andere ist noch nicht integriert. Es erscheint zwar die Bestätigung, aber der Kontostand des Zielkontos verändert sich nicht. Ich kann keinen Fehler im Code finden...
EDIT: Die Eingabe des Verwendungszwecks natürlich auch.

haraldos

Also erstmal fehlt Dir der mysql_query zu $sql...
http://de.profile.xfire.com/haraldos\" rel=\"external nofollow\">http://de.miniprofile.xfire.com/bg/co/type/2/haraldos.png\" alt=\"haraldos.png\">

iron_net

Also so?
 

mysql_query(\'SELECT * FROM cds\');
$sql= \"UPDATE
 Stand,
  SET
 Stand=\'$Wert\', Eingang=\'$summ\'        
           FROM
              cds
           WHERE
              Nummer=\'$Nummer2\';\"

raiser

nö,
der query, der die änderung macht  /uploads/emoticons/icon_e_biggrin.gif.40dcc5d69f84e2cf29e77d8e1e9a84e2.gif\" alt=\":D\" />
aber der query-string wird zu einem fehler führen, nehm ich zumindest mal an

 an dieser steller wird erst was zur datenbank gesendet
?>

 
ich nehm mal an, das Stand auch der tabellenname ist, fals nicht....

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


iron_net

Ah danke, hab aber inzwischen bemerkt, dass die Hälfte gefehlt hat /uploads/emoticons/icon_e_wink.gif.fcb053ab2c91cb6224c03a16c6332abf.gif\" alt=\";)\" />
Jetzt funktioniert im Prinzip alles, nur der Passwortschutz macht mir noch Probleme.
Ich hab noch eine zweite If-Schleife eingebaut, in der das korrekte Passwort ausgelesen und als $Pass2 gesetzt wird (bin mir aber nicht sicher, ob das so funktioniert). Allerdings springt der Script jedesmal zum Else-Teil, egal ob das Passwort nun stimmt oder nicht. Auch wenn ich das o. g. Auslesen des Passworts sein lasse und $Pass2 einfach festlege, tritt der Fehler auf.
 


 

Die Überweisung wurde ausgeführt.
Zurück zur Startseite Weitere Überweisung
 
Kontonummer oder Passwort falsch.
Zurück zur Startseite Weitere Überweisung
 
Überweisungsauftrag
&Nummer2=&summ=&Pass=&Nummer=\">
Nr. des Ausgangskontos
Passwort des Ausgangskontos
Nummer des Zielkontos
Betrag
Datum, Uhrzeit, eigener Name, Zweck
 
Zurück zur Startseite
 

raiser

ähm ja....
schonmal dran gedacht, erst grundlagen zu sammeln und dann zu programmiern  /uploads/emoticons/icon_e_smile.gif.f7ec63a2b1c3d90a9415e40455642502.gif\" alt=\":-)\" />
1. also der query-string hmmm irgendwie sieht der komisch aus
2. was von http://php.net/mysql_query\" rel=\"external nofollow\">mysql_query() kommt ist eine ressourcen-kennung
3. if($pass==\'$pass2\') was / wie soll das zu verstehen sein, so wirds nicht gehen

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


iron_net

Grundlagen hab ich schon gesammelt aber wenn man dann anfängt, stellt man nach und nach fest, dass man wohl doch noch nicht genug weiß...
2. wie meinst du das mit der ressourcen-kennung? was konkret funktioniert daran nicht?
if($pass==\'$pass2\') (habs auch ohne die Anführungszeichen probiert) solleinfach nur heißen, dass die beiden Variablen identisch sein sollen, damit der Script nicht auf Else springt.

raiser

steht das passwort unverschlüsselt in der datenbank?
 

 wenn das passwort stimmt was er machen soll
}
else{
   //--> dein Fehlerausgabe
}
?>

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


iron_net


iron_net

Ähm...eine Frage hätte ich doch noch...wie kann ich denn eine if-Bedingung setzen, dass der Überweisungswert ($Wert) nich die Höhe des Kontostandes des Ausgangskontos übersteigen darf?
Also wie gehabt
$result=mysql_query(\"SELECT Stand FROM cds WHERE Nummer=\'$Nummer\' and Pass=\'$Pass\' LIMIT 1\");
oder? Und dann?

raiser


 wenn das passwort stimmt was er machen soll 
   $row=mysql_fetch_assoc($result);
   if(!$Wert>$row[\'Stand\']){
       //--> hier das update
   }
   else{
       echo \'Eh, DU.... soviel Credits hast du nicht\';
   }
}
else{
   //--> dein Fehlerausgabe
}
?>



Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


all your base are belong to us