Seite 3 von 4

Verfasst: 29.05.2006 15:30
von YoOoOoOo
Wow vielen Dank erstmal!
Nur zum nachprüfen, ist das hier okay?

Code: Alles auswählen

//
// Wert nicht unter 0
//
if ($row['user_goldmine'] && $row['user_steingrube'] && $row['user_saegewerk'] < 0) 
{ 
  'Deine Arbeiter müssen zuerst mehr Ressourcen abbauen'; 
}
Und ist es hier eigentlich nicht möglich, das auch irgendwie als Variable ausgeben zu können anstatt via echo, sodass dann der Text an beliebiger Stelle im Text eingefügt werden..?

Code: Alles auswählen

$dein_wert = 10;

$dein_array = array(
  10 => 'Apfel',
  20 => 'Banane',
  30 => 'Kirsche',
  [..]);

if ($dein_wert >= 5)
{
  echo $dein_array[$dein_wert]; // eine Varibale draus kreiren ..?
}

Verfasst: 29.05.2006 16:20
von S2B
zum 1.: Nein, das musst du ausschreiben:

Code: Alles auswählen

if ($row['user_goldmine'] < 0 && $row['user_steingrube'] < 0 && $row['user_saegewerk'] < 0)
zum 2.: $dein_array[$dein_wert] kannst du an jeder x-beliebigen Stelle einfügen, du kannst es aber auch in eine neue Variable speichern:

Code: Alles auswählen

$deine_variable = $dein_array[$dein_wert];

Verfasst: 29.05.2006 17:06
von YoOoOoOo
So weit, so gut.

Code: Alles auswählen

$burg_1 = $burg_array[$row['user_burg']];

$row['user_burg'] = 10; 

$burg_array = array( 
  10 => 'Burg', 
  15 => 'Festung',
  20 => 'Schloss'); 

if ($row['user_goldmine'] >= 10) 
{ 
  echo $burg_array[$row['user_burg']]; // gibt Apfel aus 
}
Was ist denn daran noch falsch.
Wird ausgegeben als

Code: Alles auswählen

$template->assign_vars(array(
.
.
.
.
'BURG_1' => $burg_1)
Im .tpl steht dann {BURG_1}, aber dort wird dann nichts angezeigt - wo ist der Fehler?

Verfasst: 29.05.2006 18:05
von S2B
Äh, wie willst du einer Variable einen Wert zuweisen, den es noch gar nicht gibt?

Verfasst: 29.05.2006 18:57
von YoOoOoOo
Kannst du mir das näher erklären bzw. konkreter Löungsvorschläge notieren bitte?
Ich beherrsche PHP leider noch nicht allzugut ^^"

Verfasst: 29.05.2006 19:06
von S2B

Code: Alles auswählen

// $burg_array und $row{'user_burg'] existieren hier noch nicht!
$burg_1 = $burg_array[$row['user_burg']];

$row['user_burg'] = 10;

$burg_array = array(
  10 => 'Burg',
  15 => 'Festung',
  20 => 'Schloss');

// hier existieren sie ;-)
$burg_1 = $burg_array[$row['user_burg']];

Verfasst: 29.05.2006 20:53
von YoOoOoOo
Gut, alles klar.
Nun zurück zum Button - wie lese ich die USER ID heraus?
So funktioniert es leider nicht ...

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// 
// End session management 
// 

if(!$userdata['session_logged_in']) 
{ 
   redirect(append_sid("login.$phpEx?redirect=buildings.$phpEx", true)); 
} 

$is_auth_ary = array(); 
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $forum_data); 

// 
// Start output of page 
// 
define('SHOW_ONLINE', true); 
$page_title = $lang['Index']; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

$template->set_filenames(array( 
   'body' => 'buildings_body.tpl') 
); 
        
/// Auslesen der User ID
        $this_userdata = get_userdata($user_id);
	$user_id = $this_userdata['user_id'];
/// 
/// Anweisung zum Updaten der Datenbank 
/// 
if(!empty($buttom)){ 
echo("Buttom gedrückt");
$db_query  = "UPDATE phpbb_users 
              SET user_posts = user_posts + 4, 
              user_cash = user_cash - 500, 
              user_holz = user_holz - 300, 
              user_stein = user_stein - 500, 
              user_church = user_church + 1 
              WHERE user_id = $user_id";
}

// 
// Generate the page 
// 
$template->pparse('body'); 

include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 

?>
.tpl-Datei:

Code: Alles auswählen

<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr> 
<td class="row1" align="left" width="1%">...
	</td><td class="row1" align="left" width="50%"><span class="gensmall">Kirche
	</td><td class="row1" align="right" width="50%">
	<form name="form1" method="post" action="buildings.php?buttom=1"><input type="submit" name="Buttom" value="Buttom"></td></form>
  </tr>
</table>

Verfasst: 29.05.2006 21:11
von S2B
Sehe ich das richtig, dass du einfach die Daten vom aktuell eingeloggten Benutzer aktualisieren willst? Wenn ja, dann musst du die User-ID nicht mehr auslesen, die steht schon im $userdata-Array:

Code: Alles auswählen

///
/// Anweisung zum Updaten der Datenbank
///
if (!empty($buttom))
{
  echo("Buttom gedrückt");
  $db_query  = "UPDATE phpbb_users
    SET user_posts = user_posts + 4,
      user_cash = user_cash - 500,
      user_holz = user_holz - 300,
      user_stein = user_stein - 500,
      user_church = user_church + 1
    WHERE user_id = " . $userdata['user_id'];
  if (!$db->sql_query($db_query))
  {
    message_die(GENERAL_ERROR, 'Could not update userdata', '', __LINE__, __FILE__, $db_query);
  }
}

Verfasst: 30.05.2006 12:41
von YoOoOoOo
Willst du mal Zugang zum FTP um das Problem näher anzusehen?
Es funktioniert nämlich immer noch nicht ganz ...
Meld dich einfach mal PN ...

YoOoOoOoOo

Verfasst: 30.05.2006 13:54
von S2B
Naja, deinen Fehler kannst du ruhig selbst reparieren, dann lernst du nämlich auch noch was dabei. :wink:

Was funktioniert denn nicht? Antworte doch mal auf meine Frage...