Ako zapísať podmienky aby sa nevykonala podmienka pod? – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako zapísať podmienky aby sa nevykonala podmienka pod? – PHP – Fórum – Programujte.comAko zapísať podmienky aby sa nevykonala podmienka pod? – PHP – Fórum – Programujte.com

 

Jonny
~ Anonymní uživatel
5 příspěvků
22. 12. 2016   #1
-
0
-

Potrebujem sa poradiť, ako zapísať následovný príkaz, ktorý je napísaný čierno, ten funguje ok, ale potrebujem pod neho toto ako podmienku:

  1. if($user['fraction'] == 0  $attacked_user['fraction'] == 3 OR  $attacked_user['fraction'] == 5  echo nemôžeš zaútočiť na spojeneckú frakciu
  2. if($user['fraction'] == 3  $attacked_user['fraction'] == 0 OR  $attacked_user['fraction'] == 5  echo nemôžeš zaútočiť na spojeneckú frakciu
  3. if($user['fraction'] == 5  $attacked_user['fraction'] == 0 OR $attacked_user['fraction'] == 3  echo nemôžeš zaútočiť na spojeneckú frakciu
  4. if($user['fraction'] == 1  $attacked_user['fraction'] == 2 OR $attacked_user['fraction'] == 4  echo nemôžeš zaútočiť na spojeneckú frakciu
  5. if($user['fraction'] == 2  $attacked_user['fraction'] == 1 OR $attacked_user['fraction'] == 4  echo nemôžeš zaútočiť na spojeneckú frakciu
  6. if($user['fraction'] == 4  $attacked_user['fraction'] == 1 OR $attacked_user['fraction'] == 2  echo nemôžeš zaútočiť na spojeneckú frakciu

 Neviem ako to zapísať, user fraction predstavuje frakciu za akú hrá hráč v hre a attacked_user predstavuje frakciu, ktorú má hráč, na ktorého útočím, neviem ako to zapísať, lebo ak to zapisujem takýmto typom tak dostanem echo nemôžeš zaútočiť na spojeneckú frakciu, no i tak bojovníci začnú útok. Neviem ako to mám urobiť, aby sa nevykonala podmienka pod else... Ďakujem všetkým za pomoc

if(isset($_POST['attack2'])){
if($user['fraction'] == $attacked_user['fraction']){             
			echo("Nemôžeš zaútočiť na svoju frakciu!");                 
		}
    
		elseif($stats['battery'] >= 10 && $timer['atime'] == 0 && $stats['attack'] >= 10 && $_POST['attack1'] != "" && $_POST['attack1'] != $_SESSION['uid'] && is_numeric($_POST['attack1']) && $_POST['attack1'] <= $id['MAX(`id`)'] && $_POST['attack1'] > 0){
			echo("Bojovníci začali útok!");
			$azarobok1 = 0;
			$azarobok2 = 0;
			$atime = time();
			$working['ayes'] = $atime;
			$stats['battery'] -= 10;
			$stats['rank'] += 4;
			$timer['atime'] = 1;
			$info1 = mysqli_query($con,"SELECT `id` FROM `stats` WHERE `id`='".$_POST['attack1']."'") or die(mysqli_error($con));
			$info2 = mysqli_fetch_assoc($info1);
			$info3 = $info2['id'];
			$update_working = mysqli_query($con,"UPDATE `working` SET `ayes`='".$working['ayes']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			$update_stats = mysqli_query($con,"UPDATE `stats` SET `battery`='".$stats['battery']."',`rank`='".$stats['rank']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			$update_timer = mysqli_query($con,"UPDATE `timer` SET `atime`='".$timer['atime']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			$update_ranking = mysqli_query($con,"UPDATE `ranking` SET `number`='".$info3."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
		}elseif((time() - $working['ayes']) >= 600 && $timer['atime'] == 1){
			$info1 = mysqli_query($con,"SELECT `number` FROM `ranking` WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			$info2 = mysqli_fetch_assoc($info1);
			$info3 = $info2['number'];
			$info4 = mysqli_query($con,"SELECT `defense`,`food`,`gold` FROM `stats` WHERE `id`='".$info3."'") or die(mysqli_error($con));
			$info5 = mysqli_fetch_assoc($info4);
			if($stats['attack'] > $info5['defense']){
				$azarobok1 = round($info5['food'] / 2);
				$azarobok2 = round($info5['gold'] / 2);
				echo("Získal si ".$azarobok1." jedla a ".$azarobok2." zlata!");
				$atime = 0;
				$working['ayes'] = $atime;
				$stats['food'] += $azarobok1;
				$stats['gold'] += $azarobok2;
				if($azarobok1 > 0){
					$stats['rank'] += 1;
				}
				if($azarobok2 > 0){
					$stats['rank'] += 1;
				}
				$info5['food'] -= $azarobok1;
				$info5['gold'] -= $azarobok2;
				$azarobok1 = 0;
				$azarobok2 = 0;
				$timer['atime'] = 0;
				$update_working = mysqli_query($con,"UPDATE `working` SET `ayes`='".$working['ayes']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
				$update_stats = mysqli_query($con,"UPDATE `stats` SET `food`='".$stats['food']."',`gold`='".$stats['gold']."',`rank`='".$stats['rank']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
				$update_stats = mysqli_query($con,"UPDATE `stats` SET `food`='".$info5['food']."',`gold`='".$info5['gold']."' WHERE `id`='".$info3."'") or die(mysqli_error($con));
				$update_timer = mysqli_query($con,"UPDATE `timer` SET `atime`='".$timer['atime']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			}elseif($stats['attack'] <= $info5['defense']){
				echo("Bojovníci sa vzdali!");
				$atime = 0;
				$working['ayes'] = $atime;
				$timer['atime'] = 0;
				$update_working = mysqli_query($con,"UPDATE `working` SET `ayes`='".$working['ayes']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
				$update_timer = mysqli_query($con,"UPDATE `timer` SET `atime`='".$timer['atime']."' WHERE `id`='".$_SESSION['uid']."'") or die(mysqli_error($con));
			}
		}elseif($timer['atime'] == 0){
			if($stats['attack'] == 0){
				echo("Nemáš žiaden útok!");
			}elseif($stats['battery'] < 10){
				echo("Nemáš dostatok baterky!");
			}elseif($_POST['attack1'] == "" | $_POST['attack1'] == $_SESSION['uid'] | !is_numeric($_POST['attack1']) | $_POST['attack1'] > $id['MAX(`id`)'] | $_POST['attack1'] <= 0){
				echo ("Toto nieje dobré ID majora!");
			}
		}else{
			$zostava = (600 - (time() - $working['ayes']));
			echo("Musíš počkať ".$zostava." sekúnd.");
		}
	} 
Nahlásit jako SPAM
IP: 84.16.53.–
peter
~ Anonymní uživatel
4016 příspěvků
22. 12. 2016   #2
-
0
-

Nerozumim otazce.
Obvykle na to reaguji tak, ze rekni tuto otazku mamce/sestre nebo jine nezaujate osobe a pokud ji nepochopi, sleduj, na co se pta. To treba sem take zodpovedet.

Muzes prosimte ohranicit fragmenty kodu (treba komentarem), o ktere se jedna a kde by meli byt za jakych podminek?

// tamtu desivost, kde schazi andy, zavorky, apostrofy, bych prepsal asi takto:
$a = $user['fraction'];
$b = $attacked_user['fraction'];
$err = 'nemôžeš zaútočiť na spojeneckú frakciu';
if ($a == 0 && ($b == 3 || $b == 5)) {echo $err;}
if ($a == 1 && ($b == 2 || $b == 4)) {echo $err;}
if ($a == 2 && ($b == 1 || $b == 4)) {echo $err;}
if ($a == 3 && ($b == 0 || $b == 5)) {echo $err;}
if ($a == 4 && ($b == 1 || $b == 2)) {echo $err;}
if ($a == 5 && ($b == 0 || $b == 3)) {echo $err;}
// pak by se slo bavit treba o zapsani:
$a = $user['fraction'];
$b = $attacked_user['fraction'];
$err = 'nemôžeš zaútočiť na spojeneckú frakciu';
if (($a == 0 && ($b == 3 || $b == 5)) ||
    ($a == 1 && ($b == 2 || $b == 4)) ||
    ($a == 2 && ($b == 1 || $b == 4)) ||
    ($a == 3 && ($b == 0 || $b == 5)) ||
    ($a == 4 && ($b == 1 || $b == 2)) ||
    ($a == 5 && ($b == 0 || $b == 3))) {echo $err;}
// nebo
$a = $user['fraction'];
$b = $attacked_user['fraction'];
$err = 'nemôžeš zaútočiť na spojeneckú frakciu';
if (($a == 0 && in_array($b,array(3,5))) ||
    ($a == 1 && in_array($b,array(2,4))) ||
    ($a == 2 && in_array($b,array(1,4))) ||
    ($a == 3 && in_array($b,array(0,5))) ||
    ($a == 4 && in_array($b,array(1,2))) ||
    ($a == 5 && in_array($b,array(0,3))) {echo $err;}
Nahlásit jako SPAM
IP: 2001:718:2601:26c:6585:ad...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Podobná vlákna

Ako to zapísať v MySQLi — založil Martin

Vlastná šifra ako zapísať — založil Maximilián

Ako zapisat aj lomitko &quot;\&quot; — založil Anonymní uživatel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý