anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mi 23 Sep, 2020 10:35

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Need Help
BeitragVerfasst: Do 03 Apr, 2008 19:08 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Do 03 Apr, 2008 19:57 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
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,

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Do 03 Apr, 2008 20:02 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
'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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Do 03 Apr, 2008 20:38 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
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.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 08:40 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 09:06 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3922
Wohnort: Basel
Geschlecht: Männlich
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')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 09:36 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
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
:bash: :bash:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 10:38 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
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. :pein:

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 10:52 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
in der addresszeile steht op=entlassen
aber die wird nicht angezeigt sondern es bleibt bei "op=fire", die halt (quasi) aktualliesiert wurde


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 11:15 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
^^ 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.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Need Help
BeitragVerfasst: Fr 04 Apr, 2008 14:14 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
Perfekt *niederknie*
DANKE!!! :) :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum