Skoči na vsebino

IPB



Slika

Vse o PHPju


Odgovorov v temi: 1931

#21 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 08 avgust 2005 - 11:53

Pimqek, hmm... mi lahko malo namigneš kje in kaj spremenit? :cool:

oz. kakšno kodo bi rabi,l da bi mi delovala publikumova skripta? :zvizg:

#22 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 08 avgust 2005 - 12:05

cweto: Sam sem kriv, da ti koda ne dela...

Kliči skripto takole:

http://localhost/skripta.php?mapa=test

Pri čemer mora obstajati direktorij test v document_rootu...:cool:

Potem pa notri nameči razne stvari pa sprobaj... (dela tudi skripta.php?mapa=. za trenutni direktorij)... :ok:

#23 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 08 avgust 2005 - 12:14

publikum, 10x hvala!! Zdej pa deluje tako kot je treba :bravo: :)
Grem kar grafično oblikovati to skripto!!!

btw: če znaš je laži! :cool: (samo jaz neznam :) )

#24 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 08 avgust 2005 - 18:57

publikum, No zdej pa me zanima kako bi skril vse file ki so na končnico .php ??
ker ta scripta mi pokaže vse kar je v mapi. Jaz pa bi rad, da mi skrije skripta.php oz. še kateri drugi file z končnico .php

aja... a se da tko narest da namesto unih pikic ( .. ) k so narejena da greš nazaj, da bi dau slikco? oz. text?

#25 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 08 avgust 2005 - 21:41

Popravljena koda...:

<?php

error_reporting(0);

// Najprej dobimo mapo iz katere beremo in preverimo, če je res mapa

if(isset($_GET['mapa']))

{

	if(!is_dir($_GET['mapa']))

	{

		echo "To ni mapa!";

		exit;

	}

	else

	{

		// Poizkušamo odpreti mapo

		$handle = opendir("./" . $_GET['mapa'] . "/");

		if(!$handle)

		{

			echo "Ne morem odpreti mape!";

			exit;

		}

		else

		{

			$_GET['mapa'] = trim($_GET['mapa'], '/');

			// Nastavimo dve spremenljivki, ki jih bomo potrebovali....:

			$datoteke = array();

			$direktoriji = array();

			

			// Preberemo vse vnose iz mape

			while(($entry = readdir($handle)) !== false)

			{

				// Sortiramo na podlagi ali je vnos mapa ali datoteka

				if(($handle1 = fopen("./" . $_GET['mapa'] . "/" . $entry, 'r')) !== false)

				{

					$i = count($datoteke) + 1;

					$datoteke[$i] = $entry;

					fclose($handle1);

				}

				else

				{

					if($entry != ".")

					{

					$i = count($direktoriji) + 1;

					$direktoriji[$i] = $entry;

					}

				}			

			}

		

			// Sortiramo po abecedi

			sort($direktoriji);

			sort($datoteke);

			

			// Izpišemo direktorije

			foreach($direktoriji as $dir)

			{

				if($dir == "..")

				{

					$tmp_array = explode("/", $_GET['mapa']);

					$tmp_array[count($tmp_array) - 1] = "";

					$mapa = implode("/", $tmp_array);

					if(empty($mapa))

					{

						$mapa = ".";

					}

					// Doda sliko za mapo, ki vodi nazaj

					echo "<img src="/slika/za/nazaj.gif" alt=""><a href="?mapa=$mapa">" . $dir . "</a><br>";

				}

				else

				{

					echo "<a href="?mapa={$_GET['mapa']}/$dir">" . $dir . "</a><br>";

				}

			}

			

			// Izpišemo datoteke

			foreach($datoteke as $file)

			{

				// Ne prikaže .php datotek

				$tmp_array = explode(".", $file);

				if((count($tmp_array) - 1) != "php")

				{

					echo "<a href="{$_GET['mapa']}/$file">" . $file . "</a><br>";

				}

			}

		

		}

	}

}

?>

Namig: v komentarjih ti piše, kje moraš spremeniti pot do prave slike :mrgreen:

#26 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 08 avgust 2005 - 22:05

publikum, slika dela, samo se mi za sliko pokazejo še zmeram une .. (beri pikice) in ko hocem na sliko kliknit ne dela povezava! Samo ko kliknem na une 2 pikici pa dela.

Hmnja... drugače pa tudi .php fajlov noce skriti :mrgreen: a bi moral jaz še kaj drugega spremeniti kot samo pot do slike? :roll:

#27 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 08 avgust 2005 - 22:15

<img ...> mora biti znotraj <a>...</a>...

#28 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 09 avgust 2005 - 01:11

publikum, no to recimo da dej dela... ko kliknem na sliko dela zdej link samo sta une 2 pikice še zmeram spredaj. pa sem probal nekaj kode pobrisati pa ni delalo, tako da imam zdaj tako ..<slika> ok to ni tok moteče samo bi pa rad odstranil če se da :roll:

No pa poglejva še to kodo:
// Ne prikaže .php datotek

			$tmp_array = explode(".", $file);

			if((count($tmp_array) - 1) != "php")

tukaj mora biti nekaj narobe ker mi še vedno prikazuje .php fajle :mrgreen: probal sem

tako da sem dal namesti -1 sem dau -2
if((count($tmp_array) - 2) != "php")


Potem pa mi je skrilo vse fajle, samo datoteke so ostale. Se ti kaj sanja kako bi še to rešila?:zvizg:

LP,
cweto

#29 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 09 avgust 2005 - 06:31

Malce me matrajo pozne ure (po 22h), tako da se zdajleže 10 minut smejim kakšno napako sem naredil...

if((count($tmp_array) - 1) != "php") ne bi nikoli vrnilo false, ker je na drugi strani if stavka ponavadi rezultat 1 ali 2, nikoli pa PHP :mrgreen:

// Izpišemo datoteke

			foreach($datoteke as $file)

			{

				// Ne prikaže .php datotek

				$tmp_array = explode(".", $file);

				if($tmp_array[count($tmp_array) - 1] !== 'php')

				{

					echo "<a href="{$_GET['mapa']}/$file">" . $file . "</a><br>";

				}

			}

Glede slike je pa tako, da bi moral potem izbrisati prikaz imena direktorija, ki je tako ali tako ustrezno ločen od navadnih map, tako da nimaš problema....:

// Doda sliko za mapo, ki vodi nazaj

					echo "<a href="?mapa=$mapa"><img src="/slika/za/nazaj.gif" alt=""></a><br>";


#30 pero12

pero12

    Vajenec

  • Members
  • 266 objav
  • Spol:Moški

Objavljeno 09 avgust 2005 - 10:36

http://peter.specialci.com/opisi.php

Rabil bi skripto za to stran, za opise. Naredil sem seznam, abecedni, zdej pa bi blo glupo če bi šel 30 strani delat, kolikor je črk, pa me zanima če obstaja kakšna skripta za to, da bi v skripto dal npr opis call of duty, pod C? Mislim tko, da bi mel sam eno stran za opise, ne za vsako črko posebi Obstaja? [:9] [:mrgreen:]

#31 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 09 avgust 2005 - 11:39

<?php

if(isset($_GET['crka']))

{

	if(strlen($_GET['crka']) != 1)

	{

		die("ERROR!");

	}

	else

	{

		$query = "SELECT ime,id FROM opisi WHERE ime LIKE '" . $_GET['crka'] . "%'";

		$result = mysql_query($query);

		if(mysql_num_rows($result) == 0)

		{

			echo "Ne obstaja noben opis na to črko!";

		}

		else

		{

			while($row = mysql_fetch_assoc($result))

			{

				echo "<a href="?prikazi&id={$row['id']}">" . $row['ime'] . "</a><br>";

			}

		}

	}

}

elseif(isset($_GET['prikazi']))

{

	if(!is_int($_GET['id']))

	{

		die("ERROR!");

	}

	else

	{

		$query = "SELECT ime,opis FROM opisi WHERE id = '{$_GET['id']} LIMIT 1";

		$result = mysql_query($query);

		$row = mysql_fetch_assoc($result);

		

		// IZPIS

		echo "<h1>" . $row['ime'] . "</h1><br>n";

		echo "<p>" . $row['opis'] . "</p>n";

	}

}

?>

Uporaba:

Za vsako črko narediš link takole: <a href="skripta.php?crka=a">A</a> in naprej....

Tabela v bazi mora izgledati nekako takole:

id INTEGER

ime VARCHAR

opis TEXT


#32 cweto

cweto

    Iznajdljivec

  • Members
  • 780 objav
  • Spol:Moški
  • Kraj:Laibach

Objavljeno 09 avgust 2005 - 11:47

publikum, OK... sam ti pa si PSIHO JA!!!! Use dela tko k je treba 100x hvala :bow: :bow: :bow:

Ej a mi lohka poveš kaj maš ti za en program za pisat PHP skripte?? Najbrš ne uporabljaš dreamweaverja? ali pa notepad-a? :roll:

LP,
cweto

#33 JerneJ_0X

JerneJ_0X

    Govorec

  • Members
  • 2 531 objav
  • Kraj:N/A

Objavljeno 09 avgust 2005 - 11:49

PHPEdit :ok:

#34 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 09 avgust 2005 - 11:49

Prav imaš, PHP kodo pišem s programom PHPEdit (http://www.waterproof.fr), ki se mi zdi najhitrejši in najboljši, ter ima vse kar rabiš za hitro pisanje PHP kode.

#35 pero12

pero12

    Vajenec

  • Members
  • 266 objav
  • Spol:Moški

Objavljeno 09 avgust 2005 - 18:44

HVALA :thumbsup:
Skripto shranim kot skripta.php ? Sam kam naj vpišem vse črke (v skripti)?
In kam naj dam vse opise, kako naj jih poimenujem, da bo se bodo prikazali? :mrgreen:

#36 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 10 avgust 2005 - 06:58

Skripto shraniš kot skripta.php. Črke ni treba vpisovati v skripto, za vpise pa sem ti spisal še majhen dodatek, ki ga dodaj na koncu kode (pred ?>):

elseif(isset($_POST['dodaj']))

{

	$naslov = mysql_escape_string($_POST['naslov']);

	$opis = mysql_escape_string($_POST['opis']);

	

	$query = "INSERT INTO opisi(ime, opis) VALUES('$naslov', '$opis')";

	$result = mysql_query($query);

	if($result)

	{

		echo "Vpis je uspel!";

	}

	else

	{

		echo "Vpis ni uspel!!!!!!";

	}

}

mysql_close($link);

Na začetek kode (po <?php) dodaš še tole in ustrezno spremeniš podatke:
$link = mysql_connect("localhost", "root", "");

mysql_select_db("test");

Potem v eno datoteko shraniš še HTML kodo, ki kliče to kodo:

<html>

<head>

	<title></title>

</head>

<body>

<form action="skripta.php" method="post">

Naslov opisa: <input type="text" name="naslov"><br>

Opis: <textarea name="opis"></textarea><br>

<input type="submit" name="dodaj" value="Pošlji!">

</form>

</body>

</html>

Pa še ustrezna tabela v MySQL:

CREATE TABLE opisi (

  `id` INTEGER NOT NULL AUTO_INCREMENT,

  `ime` VARCHAR NOT NULL,

  `opis` TEXT NOT NULL,

  PRIMARY KEY(`id`)

)


#37 pero12

pero12

    Vajenec

  • Members
  • 266 objav
  • Spol:Moški

Objavljeno 10 avgust 2005 - 09:32

Hvala :bow: :bow: :ok:

Zdej sm tko naredu,
http://peter.specialci.com/dodaj.htm

http://peter.specialci.com/skripta.php

http://peter.special...p?crka=j">J</a>

Tuki mi neki ne dela, a moem še kakšen password nastavit? Kako se da tabelo v mySQL?

Hvala :?:

#38 publikum

publikum

    Velemojster

  • Members
  • 5 974 objav
  • Kraj:Deep in code...
  • Interesi:Linux, PHP, C++, C#, .NET, ...

Objavljeno 10 avgust 2005 - 09:41

Najprej moraš dodati v bazo tabelo s phpMyAdmin (naslov in podatke imaš v mailu, ki si ga dobil od Specialcev). Prijaviš se in klikneš SQL, nato pa skopiraš notri tisto poizvedbo (CREATE ...) ter klikneš Izvedi.

Potem pa samo še spremeniš na začetku kode takole...:

mysql_connect("localhost", "spec_peter", "geslo");

mysql_select_db("spec_peter");

Potem bi moralo delati :mrgreen:

#39 bancek

bancek

    Pomagač

  • Members
  • 450 objav
  • Interesi:Računalništvo, Linux, PHP

Objavljeno 10 avgust 2005 - 10:13

Zanima me kako bi lahko naredil na moji spletni strani kazalnik vremena, ki bi bral iz ene druge strani. Brat bi moral samo temperaturo in nič drugega. Stran iz katere bi bral je http://mlasce.domex-el.com/ tam kjer piše Outside temperature.

LP Luka

#40 pero12

pero12

    Vajenec

  • Members
  • 266 objav
  • Spol:Moški

Objavljeno 10 avgust 2005 - 10:31

V bazi mi tole jav:

MySQL je vrnil:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL,
`opis` TEXT NOT NULL,
PRIMARY KEY(`id`)
)'


:?:
hvala :mrgreen:



Dodaj odgovor



  


0 član(ov) bere to temo

0 članov, 0 gostov, 0 anonimnih uporabnikov