PHP pomoć

poruka: 31
|
čitano: 7.107
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
PHP pomoć

Ćao programeri :D

 

Treba mi pomoc oko slijedece stvari:

 

Naime pravim neku stranicu koja bi u sebi imala opciju za citanje vijesti, znaci kad izbace izbacim zadnjih 5 naslova njanoviji da ih mogu procitati. Problem nastaje kad hocu da kliknem na naslov ili ime vijesti. Nikako ne mogu skuziti fazon kako da mi se otvori vijest na drugoj stranici, pa ako neko ima znanja da mi samo pojasni sta da uradim! Ja nisam neshto dobro strucan u PHP-u, pocetnik sam pa trebam pomoc. Sam sam napravio formu za update vijesti tj. da vijesti unosim u bazu i samo mi josh ova stvar treba da krenem dalje :D

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

<a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a>

 

Pomocu targeta uređuješ kako želiš otvoriti ciljani link. Pretpostavljam da ćeš trebati i prosljediti neke varijable pošto radiš sa php-om. To ti je najlakše pomoću GET metode. Nadam se da sam ti barem malo pomogao. Ako nisam, priljepi kod da vidimo u cemu je problem.

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

Ovo mi je index.php

<?php
       
          $result = mysql_query("SELECT naslov FROM pages ORDER BY id LIMIT 5");
         
         
          while ($row = mysql_fetch_array($result)) {
            
            
             echo "<a href=\"vijest.php?page=".$row['id']."\" target=\"_blank\">".$row['naslov']."</a>";
             echo "<hr />";
             }
           
?>

 

A ovo mi je vijest.php

 

<?php if (isset($_GET['id']))
                   {
  
  
                     $result = mysql_query("SELECT naslov FROM pages WHERE `id`='".$_GET['id']."'");
                     $row = mysql_fetch_array($result);
  
                   }
                  else
                  {
                    header('location: ?id=0');
                    exit();
                  }

                   ?>

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

To je zato što uzimaš samo naslov i nemaš naredbu da se išta ispisuje.

$result = mysql_query("SELECT naslov FROM pages WHERE `id`='".$_GET['id']."'");

 

Samo dodaj ime stupca u kojem se nalazi tekst vjesti, primjer:

 $result = mysql_query("SELECT naslov, tekst FROM pages WHERE `id`='".$_GET['id']."'");

 

te dodaj naredbu da se tekst ispisuje isto kao što si to napravio u index.php:

 echo $row['naslov']."<br />".$row['tekst'];

 

Usput taj query ti nije siguran, pa ga ne bi stavljao na stranicu kojoj drugi mogu pristupiti.

Xanzzu jer je danas teško biti orginalan.
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

Hvala na odgovoru. A da te pitam, zasto nije siguran??? NOv sam u ovim stavrima, pa bolje da me ti uputish nego da neshto sam brljam :D

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

Ovako sad izgleda i opet nece da izbaci text:

index.php:

<?php
       
          $result = mysql_query("SELECT * FROM pages ORDER BY id DESC LIMIT 10");
         
         
          while ($page = mysql_fetch_array($result)) {
               
               
                echo "<a href=\"vijest.php?page=" . urlencode($page["id"]) . "\" class='vijesti'>{$page["naslov"]}</a><br />";


                echo "<h5 style=' font-size: 10px; color: black;'>{$page["datum"]}</h5><hr style='margin: 5px auto 5px;' />";

?>

Ovaj dio radi i kad kliknem na pojedini naslov, on kad otvori slijedecu stranicu u URL-u pishe tacan ID naslova, ali belaj je u ovom sad drugom, jer nece da ispishe nishta od naslova niti texta.

vijest.php :

            <?php

                if (isset($_GET['id']))
                            {
 
 
                       $result = mysql_query("SELECT id, naslov, text FROM pages WHERE `id`='".$_GET['id']."'");
                      $page = mysql_fetch_array($result);
                      
                       echo $page['naslov']."<br />".$page['tekst'];
 
                            }
                 

                  
                   ?>

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

Način na koji ti pišeš upite u bazu nije siguran zbog takozvanih injekcija, a to ti je zasebo poglavlje o sigurnosti o kojem se sam moraš informirati.

Dodaj ovo u vjesti.php:

 $result = mysql_query("SELECT id, naslov, text FROM pages WHERE `id`='".$_GET['id']."'") or die(mysql_error());

Xanzzu jer je danas teško biti orginalan.
Poruka je uređivana zadnji put pet 30.9.2011 15:28 (Xanzzu).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
PHP pomoć

Umjesto:

 

$page = mysql_fetch_array($result);
echo $page['naslov']."<br />".$page['tekst'];

 

Dodaj ovo:

while($page = mysql_fetch_assoc($result)

echo $page['naslov']."<br />".$page['tekst'];

 

Nisam odavno ništa radio sa PHP-om, ali uvijek kad sam radio neke skripte poput CMS-a koristio sam tu funkciju za čitanje iz baze podataka. :)

http://bit.ly/fEJAtE
Moj PC  
0 0 hvala 0
15 godina
odjavljen
offline
Re: PHP pomoć
candyman kaže...

Hvala na odgovoru. A da te pitam, zasto nije siguran??? NOv sam u ovim stavrima, pa bolje da me ti uputish nego da neshto sam brljam :D

Ako ti je argument page, onda ne možeš dohvačati id iz GET varijabli, već page.

Ako ti netko primjerice upiše (nakon što ovo gore ispraviš da bi ti stranica radila):

vijest.php?id=0'; DROP TABLE pages;-- (naravno, url encoded)

ti ćeš bazi poslati:

SELECT naslov FROM pages WHERE `id`='0'; DROP TABLE pages;-- '

što znaći da će se izvršiti dvije naredbe: SELECT i DROP TABLE

Na sličan način postoji i naćin za dobiti ime tablice, što u prijevodu znaći da ti posjetitelj može raditi praktički što želi po bazi.

 

Kako se zaštititi? Sve što se šalje u SQL upit mora proći kroz čišćenje od svih potencijalno štetnih znakova, te enkodiranja istih ako je cilj spremiti takve znakove za naknadni prikaz na stranici. Imaš već neke gotove funkcije, a za ovakav primjer je dovoljno pretvoriti id u integer, vratiti u string i provjeriti da li je identičan orginalnom id-u (što znaći da su u id-u poslani samo brojevi, a to ti je cilj).

Big wheel keep on turning, Proud Mary keep on burning, Trolling, trolling, trolling on the river.
15 godina
neaktivan
offline
Re: PHP pomoć
candyman kaže...

Ovako sad izgleda i opet nece da izbaci text:

index.php:

............

Ovaj dio radi i kad kliknem na pojedini naslov, on kad otvori slijedecu stranicu u URL-u pishe tacan ID naslova, ali belaj je u ovom sad drugom, jer nece da ispishe nishta od naslova niti texta.

vijest.php :

            <?php

                if (isset($_GET['id']))
                            {
 
 
                       $result = mysql_query("SELECT id, naslov, text FROM pages WHERE `id`='".$_GET['id']."'");
                      $page = mysql_fetch_array($result);
                      
                       echo $page['naslov']."<br />".$page['tekst'];
 
                            }
                 

                  
                   ?>

Nikad nemoj direktno u query stavljati $_GET ili $_POST.

 

Evo ti primjer...

if(isset($_GET['id']) and is_numeric($_GET['id']))

{  

$idvijesti = $_GET['id'];

ili

$idvijesti = addslashes($_GET['id']);//Mada nije potrebno jer si se već prethodno zaštitio s is_numeric()

 

$result = mysql_query("SELECT * FROM pages WHERE id='$idvijesti' LIMIT 1")or die("Pogreška kod učitavanja vijesti"); //Mysql_error koristi više kod testiranja i same izrade

                       $naslov = stripslashes(mysql_result($resul,0,'naslov'))

                       $text = stripslashes(mysql_result($resul,0,'text'));


                       echo "<h1>$naslov</h1>$text " ;

}

else{

 

die();

 

}

 

Lp.

Poruka je uređivana zadnji put sri 9.11.2011 8:19 (Destroyer).
15 godina
odjavljen
offline
Re: PHP pomoć

napiši ga ovako i bit će siguran, najjednostavnije rješenje

 

$result = mysql_query("SELECT naslov FROM pages WHERE `id`='".(int)$_GET['id']."'");

12 godina
neaktivan
offline
PHP pomoć

Trebao bih pomoć kod izrade torrent index stranice. Kada pokušam uploadat torrent, dobijem sljedeći error:


Notice: Undefined variable: registration in /home/animehr/public_html/index/upload.php on line 120

Warning: move_uploaded_file(/home/animehr/public_html/index/torrents/e32145af6243c0d65eb9729a5fc8c43c6061fad8.btf) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/animehr/public_html/index/upload.php on line 128

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpn2U7ku' to '/home/animehr/public_html/index/torrents/e32145af6243c0d65eb9729a5fc8c43c6061fad8.btf' in /home/animehr/public_html/index/upload.php on line 128
Error moving torrent...

Pronašao sam taj line 128 u upload.php i u njemu piše
move_uploaded_file($_FILES["torrent"]["tmp_name"] , $CFG->torrents ."/" . $hash . ".btf") or die("Error moving torrent...");

Hvala unaprijed...

Poruka je uređivana zadnji put uto 3.1.2012 15:18 (TheRunner).
 
0 0 hvala 0
15 godina
offline
PHP pomoć

nemas prava za pisanje na tom direktoriju, napravi chmod($dir, 0755);

www.prijevodi-online.org
Moj PC  
0 0 hvala 1
11 godina
neaktivan
offline
PHP pomoć

Trebala bi mi mala pomoć oko php ako netko želi pomoći??

Ovo je problem:

imam 2 TextField-a prvi sa nazivom text1 a drugi text2

 

pa bi mi trebao kod npr.   kada   upišem u Text1 npr.   100 da se u Text2 automatski popuni sa vrjednosti npr 5 ili ako u Text1 upišem 200   da se u Text2 upiše 22

 

Unaprijed hvala

 
0 0 hvala 0
14 godina
neaktivan
offline
PHP pomoć

Nabrzinu sam sklepao, mislis nest tipa ovoga?

 

<input type="text" id="text1" value="" onChange="if(this.value=='100') { document.getElementById('text2').value='5' }">

<input type="text" id="text2" value="">

Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
PHP pomoć

Pozdrav,

 

Može li mi netko preporučiti nekakvu literaturu (stranu) da bi pomoću nje mogao početi učiti PHP ili bar dati neki dobar link s nekim tutorialima,čisto da znam odakle početi.

 

 

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: PHP pomoć
CovjekToplomjer kaže...

Pozdrav,

 

Može li mi netko preporučiti nekakvu literaturu (stranu) da bi pomoću nje mogao početi učiti PHP ili bar dati neki dobar link s nekim tutorialima,čisto da znam odakle početi.

 

 

 

Ak znas html, onda nastavi odavde http://www.w3schools.com/php/default.asp

12 godina
protjeran
offline
Re: PHP pomoć
Uny kaže...

 

Ak znas html, onda nastavi odavde http://www.w3schools.com/php/default.asp

 

Niti službena stranica nije za baciti. http://www.php.net/manual/en/index.php

13 godina
neaktivan
offline
PHP pomoć

edit

 

Bolje sisa u ruci, nego Frankfurt na Majni
Poruka je uređivana zadnji put pon 25.6.2012 18:43 (zokykom).
 
0 0 hvala 0
13 godina
offline
PHP pomoć

Evo da i ja predstavim svoj problem..

Dakle..

Imam jedan txt file u kojem su podaci unešeni ovako:

ime="neko_ime" prezime="neko_prezime" ime="opet_neko_ime" prezime"-||-"....

I mogu li ja to staviti u tablicu da bude jedan stupac Ime a drugi prezima i da budu podaci ali bez onoga "ime=" "prezime="?

 

Ili.. 

Mogu li ja napraviti da kada se iz te html forme ukucaju određeni podaci da ide u jedan php file koji te podatke razvrsta u stupce po tablici? Da ne mora ići preko txt filea?

Hvala!

PHP ne namjeravam još učiti, ovo je u edukativne svrhe..

Volim prvo okusiti čari nečega, a tek onda učiti.. :)

Impossible is nothing..
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: PHP pomoć

Nemam pojima o php-u, ali;

- možeš to staviti u tablicu i pročitati, obično se takve datoteke zovu baze podataka, nisu obične tekstualne datoteke

- možeš napisati rutinu, parser da ti podatke čita/piše u tekstualnu datoteku u formatu koji si napisao

 

U oba slučaja puniš neke varijable koje poslije nije problem prikazati kao html formu. Trebao bi ipak prvo malo baciti oko na teoriju, da znaš uopće kako što funkcionira.. Što bi ti zapravo htio?

 

13 godina
offline
Re: PHP pomoć
bed kaže...

Nemam pojima o php-u, ali;

- možeš to staviti u tablicu i pročitati, obično se takve datoteke zovu baze podataka, nisu obične tekstualne datoteke

- možeš napisati rutinu, parser da ti podatke čita/piše u tekstualnu datoteku u formatu koji si napisao

 

U oba slučaja puniš neke varijable koje poslije nije problem prikazati kao html formu. Trebao bi ipak prvo malo baciti oko na teoriju, da znaš uopće kako što funkcionira.. Što bi ti zapravo htio?

 

Imam takve podatke "nabacane" u jedan .txt file.. Nešto što je moj profesor informatike (iz osnovne) napravio, pa je pitao može li se to ikako izvesti..

Dakle da sortira te podatke u tablicu..

Ili još bolje..

Ako može da iz html-a preko nekog php filea odmah piše u drugi html u tablicu..

Impossible is nothing..
Poruka je uređivana zadnji put sri 4.7.2012 1:08 (Top Bugovac).
14 godina
neaktivan
offline
PHP pomoć

Ajd daj jedan takav file i objasni sto tocno zelis, citao sam ovo par puta i dalje nisam shvatio :D, ugl ak sve imas u txt file-u, mozes citati red po red i u php za svaki red u txt file-u napraviti jedan red u tablicama (html).

Korisnik bonbona? Imas smarthpone koji pokreće android?, onda šta čekas -&amp;gt; http://www.probonbon.net
Moj PC  
3 0 hvala 1
15 godina
neaktivan
offline
Re: PHP pomoć
Top Bugovac kaže...

Imam takve podatke "nabacane" u jedan .txt file.. Nešto što je moj profesor informatike (iz osnovne) napravio, pa je pitao može li se to ikako izvesti..

Dakle da sortira te podatke u tablicu..

Ili još bolje..

Ako može da iz html-a preko nekog php filea odmah piše u drugi html u tablicu..

Kad se koristi tekstualna datoteka za takve potrebe, obično postoji neki delimiter ili jednostavno cariage return (novi red). Ako to ne postoji, već je datoteka kao što si napisao; ime="neko ime" prezime="neko prezime" ime=".. , tada moraš napisati komad koda koji će ti to pročitati na način da koristiš podatke tako kako želiš. A to ide ugrubo; otvaraš file > čitaš > kad naletiš na 'ime=' tada su karakteri iza 'ime=', a unutar navodnika vrijednost kojom puniš varijablu, prikazuješ na stranici, spremaš u bazu, itd.. To je princip.

 

Profesor informatike pitao da li se to može izvesti? Za zadatak ili za ozbiljno?

 

14 godina
odjavljen
offline
Re: PHP pomoć
Uny kaže...

Ajd daj jedan takav file i objasni sto tocno zelis, citao sam ovo par puta i dalje nisam shvatio :D, ugl ak sve imas u txt file-u, mozes citati red po red i u php za svaki red u txt file-u napraviti jedan red u tablicama (html).

Da, što ako želiš sortirati podatke i po stupcima?

 

Jeli "IME" "PREZIME" nekako odvojeno, kao što je netko rekao delimiterom, zarezom.. ili je samo razmak između?

13 godina
offline
PHP pomoć

Ovako..

Imam jedan form (slika 1), u njega popunjavam podatke.. Onda to sve ide preko salji.php(slika2) i dobijem ovo u txt datoteci (slika3).. I tako mi se sve to popunjava u jednoj liniji.. I kako da dobijem ovo (slika4)?

Hvala na strpljenju!

Slika1 Slika1
2 2
3 3
Impossible is nothing..
Moj PC  
0 0 hvala 0
13 godina
offline
Re: PHP pomoć
bed kaže...
Top Bugovac kaže...

Imam takve podatke "nabacane" u jedan .txt file.. Nešto što je moj profesor informatike (iz osnovne) napravio, pa je pitao može li se to ikako izvesti..

Dakle da sortira te podatke u tablicu..

Ili još bolje..

Ako može da iz html-a preko nekog php filea odmah piše u drugi html u tablicu..

Kad se koristi tekstualna datoteka za takve potrebe, obično postoji neki delimiter ili jednostavno cariage return (novi red). Ako to ne postoji, već je datoteka kao što si napisao; ime="neko ime" prezime="neko prezime" ime=".. , tada moraš napisati komad koda koji će ti to pročitati na način da koristiš podatke tako kako želiš. A to ide ugrubo; otvaraš file > čitaš > kad naletiš na 'ime=' tada su karakteri iza 'ime=', a unutar navodnika vrijednost kojom puniš varijablu, prikazuješ na stranici, spremaš u bazu, itd.. To je princip.

 

Profesor informatike pitao da li se to može izvesti? Za zadatak ili za ozbiljno?

 

On ne može, pa mene zafrkava :D

alankish kaže...
Uny kaže...

Ajd daj jedan takav file i objasni sto tocno zelis, citao sam ovo par puta i dalje nisam shvatio :D, ugl ak sve imas u txt file-u, mozes citati red po red i u php za svaki red u txt file-u napraviti jedan red u tablicama (html).

Da, što ako želiš sortirati podatke i po stupcima?

 

Jeli "IME" "PREZIME" nekako odvojeno, kao što je netko rekao delimiterom, zarezom.. ili je samo razmak između?

Razmakom, točno kako je na slici u prijašnjem postu(Oprostite na tome..)

Impossible is nothing..
14 godina
neaktivan
offline
PHP pomoć

Evo napravio sam onako kako sam prvo zamislio (vjerojatno ima i neki drugi način, ovo mi je prvo palo na pamet :))

 

Kada su decki pitali cime razdvajas podatke u redu rekao si razmakom, to ti ne bi preporucio, jer npr netko unese adresu "Mato Lovrak", i tu nastane problem, podatke razdvajas

razmakom i onda ti se bude i to razdvojilo, a ne samo ime i adresa, u ovom primjeru sam koristio # za razdvajanje, takoder ako imas ime i adresu, nema potrebe pisati

ime=ivan#adresa=nema, lakse je napisati ivan#adresa, u primjeru je ovo prvo (jer si rekao da tako hoces), zbog toga sam koristio substr, budes vidio...nadam se da je to to si trazio ;)

 

I takoder samo mala sugestija, u tvojoj prvoj slici stavio si action u input, action se stavlja u samu formu ;)

 

Zadatak

Korisnik bonbona? Imas smarthpone koji pokreće android?, onda šta čekas -&amp;gt; http://www.probonbon.net
Poruka je uređivana zadnji put sri 4.7.2012 16:57 (Uny).
Moj PC  
1 0 hvala 1
13 godina
offline
Re: PHP pomoć
Ma puno hvala!!

To je ono što se tražilo!

 

Evo još jedno pitanje (Ovaj puta ja pitam, to sam si pitanje postavio dok sam tražio odgovor na prošlo..)

Imam jednu php datoteku koja me veže s bazom(base.php)..

Evo je:

 

 

<?php

session_start();

 

$dbhost = "mysql6.000webhost.com"; 

$dbname = "a4173648_4856486"; 

$dbuser = "a4173648_4856486"; 

$dbpass = "sifra123"; 

 

mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());

mysql_select_db($dbname) or die("MySQL Error: " . mysql_error());

?>

 

I na stranici admin.php mi treba kod koji govori da samo određeni članovi mogu biti na toj stranici..

 

Mogu li ja onda na toj stranici dodati ovo:

 

<?php include "base.php"; ?>

<head> ...

 

<?php

if ( $_SESSION['Username'] == "Luka" ) {

echo "Status: OK!";

 

} else {

echo $URL="http://www.blabla.com"; header ("Location: $URL");

}

?>

...

</head>

 

Ja mislim da nešto (ili sve) ne valja jer nigdje ne dajem ime tablice :/
Zapravo da se ne igramo evo s čega sam skinuo Login / Register sistem.. PHP Login script tutorial...
Samo sam preimenovao neke stvari..

 

 

Impossible is nothing..
Poruka je uređivana zadnji put čet 5.7.2012 0:13 (Top Bugovac).
14 godina
neaktivan
offline
PHP pomoć

Ako zelis napraviti login koji provjera da li su ispravno uneseni kor podaci i zatim pomocu sessija provjeriti tko ima pravo pristupa stranica preporucavam ti sljedece:

 

napravi formu login.php koja sadrzi inpute za unos kor i lozinke i koja sadrzi provjeru unesenih podataka, znaci u tom login.php osim forme ima i skripta za prpvjeru u bazi podataka, includas baza.php, napravis sql upit koji provjerava da li su podaci ispravni, ako jesu, kreiras sessiju, ako nisu ispisi neku poruku. 

 

Ako su podaci tocni preporucvama ti da u sessiju spremis sljedece: korisnicko ime(nije pod mus, cisto ako zelis ispisati dobrodosli ...), id korisnika (potrebno da se zna koji korisnik sta radi) i tip korisnika (ja koristim sljedece, 0 je admin, 1 je moderator, 2 je korisnika, sve ostalo je gost), kad te tri stvari spremim u sessiju prebacim na index.php (header("location: index.php");)

 

I sada jednostavno u nekoj drugoj skripti, npr admin.php skroz na pocetku provjeravam da li postoji sessija (if(isset($_SESSION["korisnicko"])), ako ne postoji znaci da nitko nije logiran i baci na index.php, ako kojim slucajem postoji sessija, onda znaci da je netko logiran. Tada sljedi drugi upit, if($_SESSION["tip_korisnika"] != 0), ako je tip korisnika razlicit od 0 znaci da je logiran ili moderator ili korisnika, opet ih baci na index.php jer to je datoteka admin.php kojemu samo on ima pristupa, ako je admin logiran petlja nece prebaciti na index.pho nego ce se dalje izvrsavati dokument...

 

Na taj nacin ja radim provjere tko je logiran i tko smije sta raditi (na taj nacin znas i kojemu korisniku se ispisuje koji meni i sve ostalo)

Korisnik bonbona? Imas smarthpone koji pokreće android?, onda šta čekas -&amp;gt; http://www.probonbon.net
Moj PC  
1 0 hvala 2
Nova poruka
E-mail:
Lozinka:
 
vrh stranice