Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Autmoatisches Eintragen feat. Klickshop (https://www.gegen-bilderklau.net/thread.php?threadid=150530)
Geschrieben von Morgan Girl am 16.02.2009 um 20:25:
Autmoatisches Eintragen feat. Klickshop
Also iwie steh ich aufm Schlauch... es klappt einfach nciht so wie ichs gern hätte.
Der Shop ist nach dem Tut von Mordred, allerdings wollte ich das jetz automatisch eintragen lassen. Pustekuchen, klappt nicht. Es sagt mir zwar dass es erfolgrech eingetragen wurde, aber das stimmt nicht
Ich glaube es liegt an der Variablen $Warenkorb, ich weiß nur nciht ob im Shop.php oder im ShopKaufen.php
Ihr kriegt jetz einfach mal die Codes.
Shop.php (nur der wichtigste Auszug, der Rest ist so lang

)
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
<script type="text/javascript">
function newitem(costs,value) {
newelement = new Option(value,value+"|"+costs);
document.getElementsByName("items[]")[0].options[document.getElementsByName("items[]")[0].length] = newelement;
document.getElementById("costs").innerHTML = parseInt(document.getElementById("costs").firstChild.data) + costs;
}
function removeitem() {
var item = document.getElementsByName("items[]")[0].value.split("|");
document.getElementById("costs").innerHTML = parseInt(document.getElementById("costs").firstChild.data) - parseInt(item[1]);
document.getElementsByName("items[]")[0].options[document.getElementsByName("items[]")[0].selectedIndex] = null;
}
function selectall() {
for(i = 0; i < document.getElementsByName("items[]")[0].length; i++) {
document.getElementsByName("items[]")[0].options[i].selected="selected";
}
}
function multicat(costs, value, t) {
var cat = t;
if(cat.value != 0) {
value = value + " in " + cat.value;
newitem(costs, value);
cat.selectedIndex = null;
}
}
</script>
<form method="POST" action="ShopKaufen.php" onsubmit="selectall()">
<input type="hidden" name="Pferd" value="<?php echo"$Data[Name]"?>">
<select name="items[]" size="4" scrolling="auto" onchange="removeitem()" multiple="multiple"
style="background: #AAC254; color:#E8F5B8; border:2px solid #8ead1e; FILTER: chroma (color=#ffffff); width: 200px">
</select><br>
<b>Kosten:</b> <img src="Geld.png"> <span id="costs">0</span><br><br>
<input type="submit" value=" Kaufen " style="border:2px solid #8ead1e; background-color:#AAC254; color:#E8F5B8;">
</form>
|
|
ShopKaufen.php
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
|
<link rel="stylesheet" href="style.css">
<?php
session_start();
?>
<?php
if(!isset($_SESSION["Username"]))
{
echo "<br><h1>Nicht eingeloggt</h1>
Du musst dich erst <a href="Login.htm">einloggen!</a>";
exit;
}
?>
<?php
include('Datenbank.php');
$Warenkorb = $_POST['items'];
$Kosten = $_POST['costs'];
$Pferd = $_POST['Pferd'];
$User = $_SESSION[Username];
$sql = "UPDATE `pferd` SET `Zubehoer` = '$Warenkorb' WHERE Name='$Pferd'";
mysql_query($sql);
if($sql==true) {
echo '<br><h1>Erfolgreich eingekauft</h1>Das Zubehör ist nun bei deinem Pferd im Spind und kann verwendet werden.';
} else {
echo '<br><b><font color="red">Es ist ein Fehler beim Kaufen aufgetreten. Vielleicht hast du zu wenig Geld?</font></b><br><br>';
include('Shop.php');
}
?>
|
|
Geschrieben von cll am 17.02.2009 um 12:30:
versteh ich das richtig, du speicherst unter der Spalte Zubehoer eine Liste von Dingen? autsch.... Sollte man gar nicht machen! Sonst kannst du hinterher verdammt schlecht mit den Werten arbeiten!
Lass dir außerdem im shop.php mal die Variable $Data[Name] ausgeben, ob die nicht leer ist! Das würde das Phänomen erklären, dass es ok zurückgibt aber ncihts tut.
Geschrieben von Morgan Girl am 17.02.2009 um 14:21:
nein die ist nciht leer, es wird ein bild mit dem anemn angezeigt.
wie könnte ich das mit der liste denn anders machen?
Geschrieben von cll am 17.02.2009 um 14:49:
Du solltest eine extra Tabelle machen namens zubehoer und das hat dann eine spalte pferd, eine spalte gegenstand
Ansatt die Pferdetabelle upzudaten machst du einen INSERT in die zubehoer-tabelle. So kannst du die Teile ganz einfach auflisten, einzelne löschen usw.
Geschrieben von Morgan Girl am 17.02.2009 um 16:58:
super
also soll ich nur spalten mit gegenstand1, gegenstand2 etc machen oder mit sattel, trense etc?
und wie ordne ich dann die einzelnen gegenstände aus der JS-liste in die einzelnen spalten ein?
Forensoftware: Burning Board, entwickelt von WoltLab GmbH