anpera.net https://anpera.homeip.net/phpbb3/ |
|
Mein Gebastel funzt nicht. https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3105 |
Seite 1 von 1 |
Autor: | Cybo [ Mi 15 Nov, 2006 19:27 ] |
Betreff des Beitrags: | Mein Gebastel funzt nicht. |
Hallo zusammen, ich habe mir grad was gebastelt, aber es will nicht zu 100% funktionieren. Daher poste ich hier einfach nur die Stelle aus dem Script, die nicht klappt. Falls mehr aus dem Script gebraucht wird, bitte sagen, dann gibt's den Rest auch. Der Fehler besteht darin, dass die Datenbank nicht geupdatet wird... Anzeige ist einwandfrei, aber was zu ändern klappt nicht... Ein wenig Hilfe, wäre nicht schlecht. Danke schonmal im Vorraus! [php]if ($_GET['op']=="edit"){ output("Hier kann der Bestand geändert werden. `n`c`b`\$IN ARBEIT!!!`b`c`0"); addnav("Bestand ansehen","su-test.php"); addnav("Zurück zur Grotte","superuser.php"); //Beginn der Edit-Tabelle if ($_GET['subop']=="save") { $_POST['menge'] = addslashes(closetags(stripslashes($_POST['menge']),'`i`b`c`H')); $_POST['ankauf'] = addslashes(closetags(stripslashes($_POST['ankauf']),'`i`b`c`H')); $_POST['verkauf'] = addslashes(closetags(stripslashes($_POST['verkauf']),'`i`b`c`H')); $sql = "UPDATE rohstofflager SET menge='".$_POST['menge']."',ankauf='".$_POST['ankauf']."',verkauf='".$_POST['verkauf']."' WHERE anzeigename='".$_GET['anzeigename']."'"; $result = db_query($sql) or die(db_error(LINK)); redirect("su-test.php?op=edit"); }else{ output("<form action='su-test.php?op=edit&subop=save&anzeigename=".$row['anzeigename']."' method='POST'>",true); output("<table cellpadding=2 cellspacing=1 bgcolor='#000000' align='center'><tr class='trhead'><td align=\"center\" valign=\"middle\">`b`@Rohstoff`b</td><td align=\"center\" valign=\"middle\">`b`&Vorrat`b</td><td align=\"center\" valign=\"middle\">`b`RKaufpreis`b</td><td align=\"center\" valign=\"middle\">`b`ZVerkaufspreis`b</td></tr>",true); $sql = "SELECT anzeigename,menge,ankauf,verkauf FROM rohstofflager ORDER BY anzeigename ASC"; $result = db_query($sql) or die(db_error(LINK)); if (db_num_rows($result)==0) { output("<tr class='trdark'><td colspan=5 align='center'>`&`iEs gibt keine Rohstoffe`i`0</td></tr>",true); }else{ $bgclass = ''; while ($row = db_fetch_assoc($result)) { $bgclass = ($bgclass=='trdark'?'trlight':'trdark'); output("<tr class='$bgclass'> <td align=\"center\" valign=\"middle\"><input name='anzeigename' value='".htmlentities($row['anzeigename'])."' type='hidden'>`@".$row['anzeigename']."</td> <td align=\"center\" valign=\"middle\">`&<input name=menge' value='".htmlentities($row['menge'])."' maxlength='5' size='5'></td> <td align=\"center\" valign=\"middle\">`R<input name='ankauf' value='".htmlentities($row['ankauf'])."' maxlength='5' size='5'> Gold</td> <td align=\"center\" valign=\"middle\">`Z<input name='verkauf' value='".htmlentities($row['verkauf'])."' maxlength='5' size='5'> Gold</td></tr>",true); } } output("</table>",true); output("`n`n"); output("<input type='submit' class='button' value='Ändern'></form>",true); addnav("","su-test.php?op=edit&subop=save&anzeigename=".$row['anzeigename']); //Ende der Edit-Tabelle } }[/php] |
Autor: | Harthas [ Mi 15 Nov, 2006 19:33 ] |
Betreff des Beitrags: | |
1. Ersetze das $_HTTP_GET_VARS mit $_GET xD 2. Könnte es sein, dass der Anzeigename nicht übermittelt wird? |
Autor: | Cybo [ Mi 15 Nov, 2006 20:29 ] |
Betreff des Beitrags: | |
Harthas hat geschrieben: 1. Ersetze das $_HTTP_GET_VARS mit $_GET xD Hab ich, klappt nicht... Harthas hat geschrieben: 2. Könnte es sein, dass der Anzeigename nicht übermittelt wird? Wird doch aber selected... Wird ja auch in der Tabelle ausgegeben...
|
Autor: | Darkness [ Mi 15 Nov, 2006 20:48 ] |
Betreff des Beitrags: | |
Cybo hat geschrieben: Harthas hat geschrieben: 2. Könnte es sein, dass der Anzeigename nicht übermittelt wird? Wird doch aber selected... Wird ja auch in der Tabelle ausgegeben...Ja, ausgegeben wirds, aber eben nicht im FOrmualar weitergegeben... ersetze: $this->bbcode_second_pass_code('', '<td align="center" valign="middle">`@".$row['anzeigename']."</td>') durch $this->bbcode_second_pass_code('', '<td align="center" valign="middle"><input name='anzeigename' value='".htmlentities($row[anzeigename'])."' type='hidden'>`@".$row['anzeigename']."</td>') |
Autor: | Cybo [ Mi 15 Nov, 2006 20:56 ] |
Betreff des Beitrags: | |
Funktioniert leider auch nicht... ![]() |
Autor: | -DoM [ Do 16 Nov, 2006 09:38 ] |
Betreff des Beitrags: | |
Du willst einen Eintrag in deiner DB Zeile vornehmen. Schau dir mal das an: [php] $sql = "UPDATE rohstofflager SET menge='".$_POST['menge']."',ankauf='".$_POST['ankauf']."',verkauf='".$_POST['verkauf']."' WHERE anzeigename='".$_GET['anzeigename']."'"; [/php] Du übergibst doch garnicht den Anzeigenamen. Siehe dein "form", wo du scheinbar auswählst: [php] output("<form action=\"su-test.php?op=edit&subop=save\" method='POST'>",true); [/php] Also ich würde ersteinmal deine SQL-Abfrage machen, damit du deine Daten komplett zur verfühung hast. Erst dann würde ich mit dem Form anfangen. Gut wenn ich ehrlich bin, würde ich es ganz anders machen. Aber wie oben beschrieben erst die SQL-Abfrage und dann erst das "form" anfangen. [php] output("<form action='su-test.php?op=edit&subop=save&anzeigename=".$row['anzeigename']."' method='POST'>",true); [/php] und den addnav für den Cheatschutz: [php] addnav("","su-test.php?op=edit&subop=save&anzeigename=".$row['anzeigename']); [/php] Dann weiss er auch im oberen SQL-Befehl, was er denn Updaten soll..... |
Autor: | Cybo [ Do 16 Nov, 2006 15:22 ] |
Betreff des Beitrags: | |
.................................. ![]() Also danke erstmal, für die Änderung, aber auch die hat leider nicht geklappt... Also zur Zeit sind da insgesamt 10 Rohstoffe drin. Ich erklärs jetzt mal genauer: Ich möchte nicht immer per DB die Preise, oder den Bestand ändern und wollte mir daher diesen "Editor" zusammenflicken. Ich wollte aber auch nicht jeden Rohstoff EINZELN bearbeiten müssen, also für jeden Rohstoff einen eigenen save-button, sondern einen Save-Button, für die komplette Liste, die da angezeigt wird... Vielleicht geht das ja auch einfach nicht so... Ich würde mich aber trotzdem über weitere Ideen/Anregungen sehr freuen! Danke an alle, die daran mitwirken! |
Autor: | -DoM [ Do 16 Nov, 2006 22:07 ] |
Betreff des Beitrags: | |
Poste einfach mal das ganze Script. Ich werde dann mal morgen im laufe des Tages drüberschauen. |
Autor: | Cybo [ Do 16 Nov, 2006 22:29 ] |
Betreff des Beitrags: | |
Ich habe jetzt das ganze Script als Anhang gepostet reingepackt. |
Autor: | Taikun14 [ Do 16 Nov, 2006 23:15 ] |
Betreff des Beitrags: | |
Beim schnellen Überfliegen, denke ich mal, dass Du was in der SQL vergessen hast, den Rest hab ich mir nicht wirklich angeguckt, ich gehe davon aus, das ist so wie du es eigentlich willst? `listorder` int(10) unsigned NOT NULL default '1' fehlt noch in der Tabelle, meiner Meinung nach ![]() ![]() |
Autor: | Cybo [ Fr 17 Nov, 2006 06:31 ] |
Betreff des Beitrags: | |
? Nee, die Tabelle im PMA ist schon ok, ich hab sie gestern abend nurschnell rauskopiert, damit die, die mir helfen wollen/können, auch nachvollziehen können, was da für ne tabelle abgefragt wird... Kann sein, dass ich da was der vollständigkeit halber nicht angehakt haben ich hab nur das create und die inserts kopiert... oder was meinst du grad? (Ich hab doch garkein listorder?!) |
Autor: | Taikun14 [ Fr 17 Nov, 2006 08:28 ] |
Betreff des Beitrags: | |
Doch du benutzt listorder in diesem 'Editor', musste nur schauen... |
Autor: | -DoM [ Fr 17 Nov, 2006 15:06 ] |
Betreff des Beitrags: | |
Also, du wolltest ja alle aufeinmal Ändern. Dies funktioniert aber so nicht, da du deine $_POST immer wieder überschrieben würdest, anhand der gleichen Namen, die du verwemdest. Ich habe das man schnell ein wenig umgebaut. Versuche mal, ob es geht. Ich habe es nicht getestet, aber es sollte gehen.... |
Autor: | Cybo [ Fr 17 Nov, 2006 16:09 ] |
Betreff des Beitrags: | |
Taikun14 hat geschrieben: Doch du benutzt listorder in diesem 'Editor', musste nur schauen... Tatsache... Entschuldigung... Ich hab die Grunidee aus dem su-jobs genommen und hab wohl irgendwie was falsch "kopiert". Mal anders testen...Edit: Tatsache, völlig falsch... Wie wäre denn deine Berichtigungsvorschlag, für das "save"? -DoM hat geschrieben: Also, du wolltest ja alle aufeinmal Ändern. Dies funktioniert aber so nicht, da du deine $_POST immer wieder überschrieben würdest, anhand der gleichen Namen, die du verwemdest. Nein, klappt leider nicht weil unexpected ; in Zeile 67 (hab es dann aus der 70 rausgenommen, weil wohl das gemeint war) und das nav "Bestand ändern" war unsichtbar gemacht und auf sichtbar ging's dann nicht mehr... Also das erste ist ja nur eine reine übersichtsseite, die einwandfrei ausgeführt wird. Die Änderung ist erst auf der zweiten Seite im "Edit"-Teil...
Ich habe das man schnell ein wenig umgebaut. Versuche mal, ob es geht. Ich habe es nicht getestet, aber es sollte gehen.... |
Autor: | -DoM [ Fr 17 Nov, 2006 19:31 ] |
Betreff des Beitrags: | |
Sorry hab noch etwas übersehen, was den Fehler wahrscheinlich verusacht hat. Zeile 66: [php] if ($_POST){ //ändern in if ($_POST != ""){ [/php] Wenn du auf deiner Hauptseite bist, sollte nun ein Link stehen, wenn du SU 3 bist "Bestand Ändern" jeweils am Ende der Zeile. Dort klicken. Dann gehts in den Edit bereich. Wenn du dort nun änderst und speicherst, wrist du wieder auf die hauptseite geleitet und ein statustext angezeigt. Zeile 70 muss im übrigen auch reaus, hatte ich auch vergessen. |
Autor: | Cybo [ Sa 18 Nov, 2006 12:40 ] |
Betreff des Beitrags: | |
Hmmmm... Ja, das sieht schonmal viel besser aus, aber wenn ich nun Bestand ändere, wird's komplett geNULLt, das was geändert wird... Also nirgendwo kommt was, wo man da was ändern könnte, bzw. man wird nicht gefragt, wieviel man haben will... ![]() Vorher hatte ich ja eine Seite, auf der der Bestand angezeigt wurde und dann eine 2. Extra-Seite, wo man das dann hätte ändern können... Dachte, das könnte so bleiben... Jetzt hab ich eine Seite, die anzeigt, wieviel da ist und wo man alles auf 0 setzen kann... ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |