anpera.net https://anpera.homeip.net/phpbb3/ |
|
Need Help https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=4455 |
Seite 1 von 1 |
Autor: | The_Muh [ Do 03 Apr, 2008 19:08 ] |
Betreff des Beitrags: | Need Help |
Ich brauche dringend hilfe. Undzwar schreibe ich grad ne Modifikation, in zusammenhang mit nem größerem Projekt. Das ganze is schlicht und ergreifend ein Arbeitsamt. Der Normalbürger kann ne bewerbung schreiben, die wird dann vom Bürgermeister bearbeitet. Der Bürgermeister (o.ä.) kann Bewerbungen annehmen/ablehnen und soll auch entlassen können. Nur beim entlassen liegt das problem... dummer weise kann ich nicht genau sagen woran es liegt... nur das wenn ich auf "entlassen" (in der auflistung mit allen angestellten) klicke, das dann absolut garnichts passiert. ich hab deswegen schon 6 Ziagarretten geraucht und immer ne stunde Pause gemacht aber ich verzweifle immer wieder daran. Hier der code vom Arbeitsamt: $this->bbcode_second_pass_code('', ' require_once "common.php"; page_header("Arbeitsamt"); if ($_GET[op]==""){ if ($session[user][superuser]>=1){ addnav("Bürgermeister"); addnav("Offene Bewerbungen","jobs.php?op=BM"); addnav("Entlassen","jobs.php?op=fire"); //rest kommt noch ... } Addnav("Berufliches"); addnav("Bewerben","jobs.php?op=bewerbung"); addnav("Rausgehen"); addnav("D?Zum Dorf","village.php"); addnav("a?Zum Dorfamt","dorfamt.php"); output("In arbeit!!!!"); output($session[user][job]); }else if ($_GET[op]=="bewerbung"){ addnav("Zurück"); addnav("Arbeitsamt","jobs.php"); addnav("Dorf","village.php"); $user = $session[user][name]; if ($session[user][job]=="" and $session[user][superuser]!="1"){ output(" Beruf auswählen:`n <form action='jobs.php?op=send' method='POST'> <select size=\"1\" name=\"job\"> <option value=\"Holzfäller\">Holzfäller</option> <option value=\"Steinmetz\">Steinmetz</option> <option value=\"Landwirt\">Landwirt</option> </select> `n`n Bewerbung im RP-Stil:`n <textarea name='text' class='input' cols='40' rows='9'></textarea> <input type=\"hidden\" name=\"user\" value=\"$user\"> <input type='submit' class='button' value='Senden'> </form>",true); addnav("","jobs.php?op=send"); }else{ output("Du hast bereits einen Beruf oder eine Offene Bewerbung!"); } }else if ($_GET[op]=="send"){ $text = $_POST['text']; $job = $_POST['job']; $name = $_POST['user']; $acctid = $session[user][acctid]; Output("Bewerbung wurde abgeschickt:`n`n"); $sql = "INSERT INTO `jobs` (`user`, `job`, `text`,`acctid`) VALUES ('$name ',' $job ','$text','$acctid');"; $write = mysql_query($sql); $sql = "SELECT acctid,name FROM accounts WHERE superuser = 4"; $result = db_query($sql) or die(db_error(LINK)); $row = db_fetch_assoc($result); output("`nName:"); output($row['name']); output("`nBerufswunsch: $job`nBewerbung:$text",true); addnav("Zurück"); addnav("Arbeitsamt","jobs.php"); //systemmail($row['acctid'],"`@Bewerbung!`0","`&{$session['user']['name']}`6 hat sich für einen Job als $job beworben. Du kannst im Büro alle offenen Bewerbungen einsehen."); $session[user][job] ="Bewerber"; }else if ($_GET[op]=="BM"){ output("Offene Bewerbungen"); output('<table border=0 cellpadding=4 cellspacing=0 bgcolor=\"#000000\" align=\"center\">',true); output('<tr class=\"trhead\" align=\"center\"> <td>`c<b>Name</b>`c</td> <td>`c<b>Berufswunsch</b>`c</td> <td>`c<b>Bewerbung</b>`c</td> <td>`c<b>Optionen</b>`c</td>',true); $sql = 'SELECT * FROM jobs ORDER BY id ASC'; $result = db_query($sql) or die (db_error(LINK)); while ($row = db_fetch_assoc($result)) { $class = ($class=='trdark'?'trlight':'trdark'); output("<tr class='$class'><td>",true); output($row['user'],true); output('</td><td>',true); output($row['job']); output("</td><td>",true); output($row['text']); output("</td><td>",true); output("<form method='post' action='jobs.php?op=annehmen'> <input type='hidden' name='acctid' value='".$row['acctid']."'> <input type='hidden' name='ID' value='".$row['ID']."'> <input type='hidden' name='job' value='".$row['job']."'> <input type='submit' value='Annehmen'></form>`n ",true); output("<form method='post' action='jobs.php?op=ablehnen'> <input type='hidden' name='acctid' value='".$row['acctid']."'> <input type='hidden' name='ID' value='".$row['ID']."'> <input type='submit' value='Ablehnen'></form> ",true); output("</td>",true); } output('</table>',true); addnav("zurück"); addnav("Arbeitsamt","jobs.php"); addnav("","jobs.php?op=annehmen"); addnav("","jobs.php?op=ablehnen"); }else if ($_GET[op]=="ablehnen"){ addnav("Zurück"); addnav("Zurück zur Liste","jobs.php?op=BM"); $id = $_POST['ID']; $acctid = $_POST[acctid]; $loeschen = "DELETE FROM jobs WHERE id = '$id'"; $loesch = mysql_query($loeschen); $clear = "UPDATE accounts SET job='' WHERE acctid=$acctid"; mysql_query($clear); //systemmail($acctid,"`%Bewerbung!`0","`&Deine Bewerbung wurde Abgelehnt!"); }else if ($_GET[op]=="annehmen"){ addnav("Zurück"); addnav("Zurück zur Liste","jobs.php?op=BM"); output("Die Bewerbung wurde Abgelehnt"); $id = $_POST['ID']; $acctid = $_POST['acctid']; $job = $_POST['job']; $sql = "DELETE FROM jobs WHERE id = '$id'"; mysql_query($sql); $sql="UPDATE accounts SET job='$job' WHERE acctid = '$acctid'"; $result = db_query($sql); systemmail($acctid,"`2Bewerbung!`0","`&Deine zum Bewerbung wurde Angenommen, du kannst absofort als $job arbeiten!"); }else if ($_Get[op]=="entlassen"){ $acctid = $_POST['acctid']; $sql = "UPDATE accounts SET job='' WHERE acctid='$acctid'"; $clear2 = mysql_query($sql); //output("$user Wurde erfolgreich entlassen"); output("test"); addnav("Zurück"); addnav("Zurück zur Liste","jobs.php?op=fire"); }else if ($_Get[op]="fire"){ addnav("Zurück"); addnav("Arbeitsamt","jobs.php"); addnav("Dorf","village.php"); Output("Hier kannst du Leute entlassen"); output('<table border=0 cellpadding=2 cellspacing=0 bgcolor=\"#000000\" align=\"center\">',true); output('<tr class=\"trlight\" align=\"center\"> <td>`c<b>Name</b>`c</td> <td>`c<b>Beruf</b>`c</td> <td>`c<b>Optionen</b>`c</td>',true); $sql = 'SELECT job,name FROM accounts ORDER BY acctid ASC'; $result = db_query($sql) or die (db_error(LINK)); while ($row = db_fetch_assoc($result)) { $class = ($class=='trdark'?'trlight':'trdark'); output("<tr class='$class' align=\"center\"><td>",true); output($row['name'],true); output('</td><td>',true); output($row['job']); output("</td><td>",true); output("<form method='post' action='jobs.php?op=entlassen'> <input type='hidden' name='acctid' value='".$row['acctid']."'> <input type='submit' value='Entlassen'></form> ",true); output("</td>",true); } output('</table>',true); addnav("","jobs.php?op=entlassen"); } page_footer(); ?>') mfg The_Muh PS: mir is kein passender thread-name eingefallen |
Autor: | MySql [ Do 03 Apr, 2008 19:57 ] |
Betreff des Beitrags: | Re: Need Help |
Du entlässt dich ja nicht zufählig selber oder?? Weil das geht nicht. Da müsstest du dann mit $session['user'] ran. Desweiteren, denke ich das 'job' warscheinlich 'Zahl' ist??? Dann nicht ='' sondern =0, wenn es 'Text' ist, lass es so. Warum verwendest du 'mysql_query' und an anderer stelle wieder 'db_query'? Nimm doch direkt 'db_query'. My, |
Autor: | The_Muh [ Do 03 Apr, 2008 20:02 ] |
Betreff des Beitrags: | Re: Need Help |
'job' ist text nein, ich entlasse mich nicht selber, sondern hab nen test-acc dafür erstellt, aber das geht auch nicht das problem fängt direkt beim button an: sobald ich den klicken passiert : _nix_ nur die seite wird aktualliesiert aber das is nicht der sinn der übung. |
Autor: | MySql [ Do 03 Apr, 2008 20:38 ] |
Betreff des Beitrags: | Re: Need Help |
Versuche mal das hier: (Evt. ist der Code verschoben wegen dem Editor *-*) $this->bbcode_second_pass_code('', '}else if ($_Get['op'] == 'fire') { addnav('Optionen'); addnav('Zum Arbeitsamt','jobs.php'); addnav('Zum Stadtplatz','village.php'); output('Hier kannst du leute entlassen'. '<table align="center" border=0 bgcolor="#000" cellpadding=2 cellspacing=0>'. '<tr class="trhead">'. '<td>Name</td>'. '<td>Beruf</td>'. '<td>Entlassen</td>'. '</tr>',true); $selected_job = db_query('SELECT job,name,acctid FROM accounts WHERE job > \'\' ORDER BY acctid ASC'); if (db_num_rows($selected_job)) { output('<tr class="trdark"><td colspan="3" align="center">`iHier hat niemand einen Job!`i</td></tr>',true); } else { while ($row_job = db_fetch_assoc($selected_job)) { output('<tr class="'.($i%2?'trdark':'trlight').'">'. '<td>'.$row_job['name'].'</td>'. '<td>'.$row_job['job'].'</td>'. '<td><a href="jobs.php?op=entlassen&this_player='.$row_job['acctid'].'&this_name='.$row_job['name'].'">Entlassen</a></td>'. '</tr>',true); # addnav nachgetragen! addnav('','jobs.php?op=entlassen&this_player='.$row_job['acctid'].'&this_name='.$row_job['name']); } } output('</table>',true); }else if ($_Get['op'] == 'entlassen') { if ($_GET['this_player'] == $session['user']['acctid']) { $session['user']['job'] = ''; output('Nun bist auch du einer der Arbeitslosen.'); } else { db_query('UPDATE accounts SET job = \'\' WHERE acctid = '.$_GET['this_player']); output('Der Spieler '.$_GET['this_name'].' hat nun keinen Job mehr!'); } addnav('Optionen'); addnav('Zum Arbeitsamt','jobs.php'); }') €: hatte gerade n' addnav vergessen. Fals du den code vor dem edit genommen hast, probiere diesen noch mal. |
Autor: | The_Muh [ Fr 04 Apr, 2008 08:40 ] |
Betreff des Beitrags: | Re: Need Help |
funktioniert immernoch nicht das gleiche problem wie vorher und wenn ich deine zusatzfunktion drinlasse: $this->bbcode_second_pass_code('', ' if (db_num_rows($selected_job)){ output('<tr class="trdark"><td colspan="3" align="center">`iHier hat niemand einen Job!`i</td></tr>',true); }else{*/') zeigt er nur an "hier hat niemand einen Job!", obwohl mein test-acc einen hat (wenn ich das wegkommentiere, wird er auch angezeigt.) außerdem wollte ich das ganze schon gerne per POST machen, weil das in meinen augen sicherer ist |
Autor: | Eliwood [ Fr 04 Apr, 2008 09:06 ] |
Betreff des Beitrags: | Re: Need Help |
POST, GET, COOKIE, PUT - alles genau gleich unsicher. In LoGD ist GET sogar weniger anfällig als POST, weil die GET-Daten nicht usermanipuliert werden können. Die POST schon. Dein Problem ist eine falsche Interpretation von db_num_rows() seitens MySql, db_num_rows() gibt eine Zahl > 0 aus, wenn ein oder mehrere Datensätze vorhanden sind - nicht true, wenn es keinen gibt. $this->bbcode_second_pass_code('', 'if(db_num_rows($selected_jop) == 0) { // Keine Zeilen gefunden rawoutput('<tr class="trdark"><td colspan="3" style="font-style: oblique; text-align: center;">Hier hat niemand einen Job!</td></tr>'); } else { // Mehr als 0 Zeilen gefunden') |
Autor: | The_Muh [ Fr 04 Apr, 2008 09:36 ] |
Betreff des Beitrags: | Re: Need Help |
das problem vom anfang ist damit aber immernoch nicht gelöst ich hab mittlerweile alles ausprobiert, außer den code komplett neu zu schreiben (zuviel arbeit...) am anfang hat es sooo gut geklappt, aber nein, bei einer solche kleinigkeit gehts nich ![]() ![]() |
Autor: | MySql [ Fr 04 Apr, 2008 10:38 ] |
Betreff des Beitrags: | Re: Need Help |
The_Muh hat geschrieben: nur die seite wird aktualliesiert aber das is nicht der sinn der übung. Das heisst? Wird die "op=fire" Seite nur aktualisiert, oder kommst schon noch ins "op=entlassen"??? Und sorry hatte des == 0 gestern vergessen. ![]() |
Autor: | The_Muh [ Fr 04 Apr, 2008 10:52 ] |
Betreff des Beitrags: | Re: Need Help |
in der addresszeile steht op=entlassen aber die wird nicht angezeigt sondern es bleibt bei "op=fire", die halt (quasi) aktualliesiert wurde |
Autor: | MySql [ Fr 04 Apr, 2008 11:15 ] |
Betreff des Beitrags: | Re: Need Help |
^^ Der Code, denn ich dir Gab geht. Musste nur 2 kleine Sachen verändern. $this->bbcode_second_pass_code('', '}else if ($_GET['op'] == 'fire') { addnav('Optionen'); addnav('Zum Arbeitsamt','jobs.php'); addnav('Zum Stadtplatz','village.php'); output('Hier kannst du leute entlassen'. '<table align="center" border=0 bgcolor="#000" cellpadding=2 cellspacing=0>'. '<tr class="trhead">'. '<td>Name</td>'. '<td>Beruf</td>'. '<td>Entlassen</td>'. '</tr>',true); $selected_job = db_query('SELECT job,name,acctid FROM accounts WHERE job > 0 ORDER BY acctid ASC'); if (db_num_rows($selected_job) == 0) { output('<tr class="trdark"><td colspan="3" align="center">`iHier hat niemand einen Job!`i</td></tr>',true); } else { while ($row_job = db_fetch_assoc($selected_job)) { output('<tr class="'.($i%2?'trdark':'trlight').'">'. '<td>'.$row_job['name'].'</td>'. '<td>'.$row_job['job'].'</td>'. '<td><a href="jobs.php?op=entlassen&this_player='.$row_job['acctid'].'&this_name='.$row_job['name'].'">Entlassen</a></td>'. '</tr>',true); # addnav nachgetragen! addnav('','jobs.php?op=entlassen&this_player='.$row_job['acctid'].'&this_name='.$row_job['name']); } } output('</table>',true); }else if ($_GET['op'] == 'entlassen') { if ($_GET['this_player'] == $session['user']['acctid']) { $session['user']['job'] = 1; output('Nun bist auch du einer der Arbeitslosen.'); } else { db_query('UPDATE accounts SET job = 1 WHERE acctid = '.$_GET['this_player']); output('Der Spieler '.$_GET['this_name'].' hat nun keinen Job mehr!'); } addnav('Optionen'); addnav('Zum Arbeitsamt','jobs.php'); }') So sollte er auch bei dir gehen. |
Autor: | The_Muh [ Fr 04 Apr, 2008 14:14 ] |
Betreff des Beitrags: | Re: Need Help |
Perfekt *niederknie* DANKE!!! ![]() ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |