←  Izdelava spletnih strani

Računalniški forum - Računalniške novice

»

Vse o PHPju

wexot-ova slika wexot 07 jan 2010

$presteto=(isset($_GET["igra"])) ? $_GET["igra"] : "";
En oklepaj manjka.

Preizkusi:
echo "<input type='hidden' value='".$nekepac."' />";


Hvala zaj pa ni errora.

ce imam 2 gumba, in mi vsak nese svojo vrednost v form, se da kak naret, da ko bi drugic neso v form, da se action nebi izvedel.

Bom kar primer dal, kaj mislim

Link: http://ferisrv5.uni-...a12/naloga2.php

In ker se drugic refresha mi zaje*e vse vkup.

Any idea?
Odgovori

TechFreak:)-ova slika TechFreak:) 07 jan 2010

if($N > 0) {
echo '<input type="text" value="'.$N.'" name="vpis" />';
}else{
echo '<input type="text" value="Vpisi stranico tabele" name="vpis" />';
}
In se ti bo število vrstic preneslo naprej.
Odgovori

wexot-ova slika wexot 07 jan 2010

if($N > 0) {
echo '<input type="text" value="'.$N.'" name="vpis" />';
}else{
echo '<input type="text" value="Vpisi stranico tabele" name="vpis" />';
}
In se ti bo število vrstic preneslo naprej.



eno butasto vprasanje. Jaz ze imam v body-u <input type="text"> te tistega v body brisem, in totega kopiram na zacetek php-ja?
Odgovori

TechFreak:)-ova slika TechFreak:) 07 jan 2010

To kopiraš namesto <input type="text" name="vpis" ...
Odgovori

wexot-ova slika wexot 07 jan 2010

To kopiraš namesto <input type="text" name="vpis" ...


Samo jaz toti input nimam v php-ju

Prilagam kodo

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>

  <style>
  td.izbrana { background-color:#00CC00; }

  </style>
</head>
<body>
<form action="naloga2.php" name="form" method="get">
<?PHP
	error_reporting(E_ALL ^ E_NOTICE);

	$N=$_GET["vpis"];
	$presteto=$_GET["igra"];
	$stevec=0;
	$bo=0;
	$igra=0;

	echo "<table border='1px' cellspacing='0px'>";

	for($i=1;$i<=$N;$i++)
	{
		echo "<tr>";
		for($j=1;$j<=$N;$j++)
		{
			$bo=rand(1,5);

			$stevec++;
			if($bo==5)
			{
				echo "<td class='izbrana'>$stevec</td>";
				$igra++;
			}
			else
			{
				echo "<td>$stevec</td>";
			}

		}
		echo "</tr>";
	}
	echo "</table>";

?>
<br/>
<input type="text" value="Vpisi stranico tabele" name="vpis" />
<input type="submit" value="Osvezi" name="gumb" />
<p>Koliko celic je obarvanih</p>
<input type="text" name="igra" />
<input type="submit" value="Preveri" name="btn_igra" />

</form>
</body>
Odgovori

TechFreak:)-ova slika TechFreak:) 07 jan 2010

<?php
session_start();
?><html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>

  <style>
  td.izbrana { background-color:#00CC00; }

  </style>
</head>
<body>
<form action="" name="form" method="get">
<?php
	error_reporting(E_ALL ^ E_NOTICE);

	$N=$_GET["vpis"];
	$presteto=$_GET["igra"];

	$stevec=0;
	$bo=0;

	if(is_array($_SESSION["prikaz"])) { //Preveri, če je tabela že bila generirana
		$prikaz = $_SESSION["prikaz"]; //Če je bila, jo naloži v spremenljivko $prikaz
	} else{
	$prikaz = array();
	} 
	 
	echo "<table border='1px' cellspacing='0px'>"; 
	
	if($N > 0 && $N != $_SESSION["N"]) {  //Če je $N večje od 0 in če je drugačen od prejšnjega na novo generira tabelo
		$_SESSION["N"] = $N;
		
		//Generiraj tabelo
		for($i=1;$i<=$N;$i++)
		{
			echo "<tr>";
			for($j=1;$j<=$N;$j++)
			{
				$bo=rand(1,5);

				$stevec++;
				if($bo==5)
				{
					echo "<td class='izbrana'>$stevec</td>";
					$igra++;  
					$prikaz[$i][$j] = 1;
				}
				else
				{
					echo "<td>$stevec</td>";
					$prikaz[$i][$j] = 0;
				}

			} 
			echo "</tr>"; 
		}						 
	}else{
		//Prikaži tabelo
		for($i=1;$i<=$N;$i++)
		{
			echo "<tr>";
			for($j=1;$j<=$N;$j++)
			{
				$stevec++;
				if($prikaz[$i][$j] == 1)
				{
					echo "<td class='izbrana'>$stevec</td>";
					$igra++;  
				}
				else
				{
					echo "<td>$stevec</td>";
				}

			}
			echo "</tr>"; 
		}
	}  
	echo "</table>";  

	$_SESSION["prikaz"] = $prikaz; //Shrani tabelo v sejo
						  
$t = ($_SESSION["N"] > 0) ? $_SESSION["N"] : "Vpisi stranico tabele";
?>
<br/>
<input type="text" value="<?php echo $t; ?>" name="vpis" />
<input type="submit" value="Osvezi" name="gumb" />
<p>Koliko celic je obarvanih</p>
<input type="text" name="igra" />
<input type="submit" value="Preveri" name="btn_igra" />

</form>
</body>
</html>
Malo popravljeno.

Zdaj pa moraš še dodati, da preverja če je $presteto enako $igra oz. napišeš napako če ni ugotovil.
Odgovori

alen1-ova slika alen1 07 jan 2010

Še eno vprašanje. Imam pač stran katere podstrani so vsaka v svoji datoteki (index.php, domov.php, kontakt.php...) teh je skoraj več kot 40 za dva jezika slo in eng. Sedaj ker ne obvladam toliko php-ja da bi te fajle združil, me zanima če bi blo uredu, da naredim dvem mapi (slo in eng) in dam v vsako svoje datoteke v eno komplet slo verzijo v drugo angleško. Verjetno moram tu potem zapit na relativno naslavljanje slik, ikon, povezav.. (../).
Odgovori

wexot-ova slika wexot 07 jan 2010

webphp uporabil sem tvojo kodo. Tiste error.je mi kaze kljub temu, da je napisano ono da jih nebi smelo. Ko stisnem na gumb za izris tabele mi javi to --> PHP has encountered an Access Violation at 0222343D

Kaj pomeni to?

Malo sem vprasal Googlea in opazil da ima vec kdo ta problem vendar z drugimi ciframi na koncu. Resitve nisem najdel.
Odgovori

TechFreak:)-ova slika TechFreak:) 07 jan 2010

Posodobitev strežnika? Domnevam, da je Windows OS z IISjem.

Verjetno moram tu potem zapit na relativno naslavljanje slik, ikon, povezav.. (../).

Če boš uporabljal index.php?stran=ime_strani&lang=sl potem ti ni potrebno dodajati ../
Odgovori

alen1-ova slika alen1 07 jan 2010

Ravno tega ne bom uporabljal, kar ne obvladam php-ja za zadeve nastavit tako. Zato morem spremenit vsako datoteko. No nekaj imam z include. Zanima me tudi ali lahko s funkcijo include vstavim glavo v vsak dokument? npr:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sl" lang="sl">
<head>		
	<title>Naslov</title>
<?php include ("../include/head.inc.php"); ?>
</head>
<body>

Je kakšen problem pri optimizaciji potem?
Odgovori

wexot-ova slika wexot 12 jan 2010

<input type="text" value=<?=$zeleni;?> name="a" />

Kaj delam narobe, da mi znotraj textboxa napiše <?=$zeleni;?>, in ne tiste vrednosti, ki je skrita v spremenljivki.
Probal sem tudi z " in ' pa mi nič drugače ne naredi.

Hvala

Seba
Odgovori

kljuka-ova slika kljuka 12 jan 2010

<input type="text" value="<?php echo $zeleni; ?>" name="a" />
Odgovori

TechFreak:)-ova slika TechFreak:) 12 jan 2010

PHP na Windowsu ima že po defaultu izklopljeno short open tags, poleg tega pa jih ima tudi zadnja verzija PHPja.
Odgovori

wexot-ova slika wexot 12 jan 2010

<input type="text" name="igra" />
<input type="submit" value="Preveri" name="btn_igra" />
<input type="text" value="<?php echo $zeleni; ?>" name="a" />
<input type="text" name="min" value='<?php echo date("i")?>'>
<input type="text" name="sec" value='<?php echo date("s")?>'>
<?php
$ble=$_GET['a'];
echo $ble;
?>

Nad to kod je še en php, ki pa ne vpliva na to kodo, zato ga nisem napisal.

Ok problem : zakaj mi program noče vstopiti v <?php in izpisati $ble. Zaključene imam vse značke
Odgovori

Andraž-ova slika Andraž 12 jan 2010

wexot:


<form action="" method="get">
<input type="text" name="igra" />
<input type="submit" value="Preveri" name="btn_igra" />
<input type="text" value="<?php echo $zeleni; ?>" name="a" />
<input type="text" name="min" value='<?php echo date("i")?>' />
<input type="text" name="sec" value='<?php echo date("s")?>' />
<input type="hidden" name="poslji" value="TRUE" />
</form>
<?php
if (isset($_GET['poslji'])) {
	$ble=$_GET['a'];
	echo $ble;
}
?>

Nisem preveril ampak mislim, da bi moralo delovati...

//malo sem popravil...
Odgovori

Andraž-ova slika Andraž 12 jan 2010

Sem čisto po naključju opazil, da si nekaj spraševal na php-si.com pa ker tam nisem registriran bom kar tu odgovoril.

Verjetno to ni čist tko kot si si ti zamislil ampak deluje pa... :mellow: Je pa koda zlo na hitr narejena tko da se mi niti ni dal preveč pogledat spremenljivke in je možno, da je kaj čist odveč. Pa poročaj, če boš dobil kje boljšo rešitev, ker me zanima, kako bodo drugi to rešili :(

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>

  <style>
  td.izbrana { background-color:#00CC00; }

  </style>
</head>
<body>
<?PHP

if (isset($_POST['preveri'])) {
echo 'Igro ste končali v ' . (time() - $_POST['start']) . ' sekundah.';
echo '<br />Število zelenih celic: ' . $_POST['zelenih'];
echo '<br />Vaš odgovor: ' . $_POST['odg'];
if ($_POST['zelenih'] == $_POST['odg']) {
	echo '<br />Čestitamo, vaš odgovor je pravilen';
} else {
	echo '<br />Zmotili ste se za število ' . abs(($_POST['zelenih']) - ($_POST['odg'])) . '.';
}
echo '<br /><a href="brisi.php">Nazaj na igro.</a>';
echo '</body>';
exit();		
}

if (isset($_POST['poslano'])) {
	if (isset($_POST['vpis'])) {$N=$_POST["vpis"];}
	if (isset($_POST['igra'])) {$presteto = $_POST['igra'];}
	$stevec=0;
	$bo=0;
	$igra=0;
	$zacetek = time();
	echo "<table border='1px' cellspacing='0px'>";

	for($i=1;$i<=$N;$i++)
	{
		echo "<tr>";
		for($j=1;$j<=$N;$j++)
		{
			$bo=rand(1,5);

			$stevec++;
			if($bo==5)
			{
				echo "<td class='izbrana'>$stevec</td>";
				$igra++;
			}
			else
			{
				echo "<td>$stevec</td>";
			}

		}
		echo "</tr>";
	}
	echo "</table>";
echo '<form action="" method="post">
<p>Koliko celic je obarvanih?</p>
<input type="text" name="odg" />
<input type="submit" value="preveri" name="btn_igra" />
<input type="hidden" name="zelenih" value="' . $igra . '" />
<input type="hidden" name="preveri" value="TRUE" />
<input type="hidden" name="start" value="' . time() . '" />
</form>';	
if (isset($_POST['preveri'])) {
	
}
exit();
}

?>
<form action="" method="post">
<p>Vpiši stranico tabele</p>
<input type="text" name="vpis" value="<?php if (isset($_POST['vpis'])) echo $_POST['vpis']; ?>"  />
<input type="submit" value="osvezi" name="gumb" /> 
<input type="hidden" name="poslano" value="TRUE" />
</form>
</body>
Odgovori

avinko4-ova slika avinko4 31 jan 2010

Živjo nevem zakaj mi ne dela ta koda zato se obračam na vas.
Skratka želim napisati kodo ko kliknem na sliko, mi izvede kodo npr v code.php.
[codebox]<img src="code.php" onclick="code.php" alt="">[/codebox]
Vendar mi klik na sliko ne naredi nič.
Odgovori

zaxy-ova slika zaxy 31 jan 2010

Huh, za tole boš pa potreboval AJAX.

Primer z JQuery:

<img src="slika.png" id="kliknime" alt="" />

<script type="text/javascript">
$("#kliknime").click(function(){
	$.ajax({url: "code.php"});
});
</script>

Seveda je ta primer zelo zelo osnoven.
Odgovori

avinko4-ova slika avinko4 31 jan 2010

@zaxy hvala za hiter odgovor.
Vendar mi je ajax tuj in kodo ne morem usposobiti.
Sem pa rešil problem začasno s tem da klik na sliko postavi zgodovino strani na 0.
<img src="code.php" onClick="history.go(0)"alt="">
Odgovori

Nejc-ova slika Nejc 02 feb 2010

hmm... z image ti odpiraš php file? :huh: lahko vprašam kaj to počneš?? :S
Odgovori

Hitri odgovor