Forum » Izdelava spletišč » PHP in MySQL - Vnos podatkov in seštevanje
PHP in MySQL - Vnos podatkov in seštevanje
echoman ::
Pozdravljeni,
Začel sem se učiti PHP v povezavi z MySQL in prišel do nečesa, česar nevem kako bi rešil. Naredil sem obrazec za komentiranje, pod katerega sem dodal še seštevek dveh števil, da se seveda prepričam, da so komentarji poslali ljudje in ne boti. Tu pa nastane težava, saj sem poskusil narediti tako, da en stavek if dam v drugega, kar pa ravno ne uspe najbolje.
Rad bi, da se v primeru pravilnega izračuna izpiše "Komentar uspešno oddan! ...", če pa je seštevek napačen pa tako "Napaka: (mysql_error)" in pa "Komentar ni bil poslan! ..." . Kako torej to narediti?
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
Začel sem se učiti PHP v povezavi z MySQL in prišel do nečesa, česar nevem kako bi rešil. Naredil sem obrazec za komentiranje, pod katerega sem dodal še seštevek dveh števil, da se seveda prepričam, da so komentarji poslali ljudje in ne boti. Tu pa nastane težava, saj sem poskusil narediti tako, da en stavek if dam v drugega, kar pa ravno ne uspe najbolje.
<?php require("baza.php"); $imekomentar = $_POST["imekomentar"]; $povezava = $_POST["povezava"]; $komentar = $_POST["komentar"]; $con = mysql_connect("$naslov","$ime","$geslo"); $preveri = $_POST['preveri']; $rezultat = "10"; $datum = date("d-m-Y"); if (!$con) { die('Ne morem povezati: ' . mysql_error()); } mysql_select_db($baza, $con); if ($preveri == $rezultat) { $sql="INSERT INTO Komentarji (Ime, Povezava, Komentar, Datum) VALUES ('$imekomentar','$povezava','$komentar', '$datum')"; if (!mysql_query($sql,$con)) { die('Napaka: ' . mysql_error()); } else echo "Komentar uspešno oddan! <br/> <a href='komentar.php'>Nazaj na ogled komentarjev</a>"; } else { echo "Komentar ni bil poslan! Ali ste pravilno sešteli števili? <br/> <a href='komentar.php'>Nazaj za ogled komentarjev</a>"; } mysql_close($con) ?>
Rad bi, da se v primeru pravilnega izračuna izpiše "Komentar uspešno oddan! ...", če pa je seštevek napačen pa tako "Napaka: (mysql_error)" in pa "Komentar ni bil poslan! ..." . Kako torej to narediti?
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
krho ::
jaz bi v polje komentar vpisal
Ok, sedaj pa na odgovor, pravilno je treba gnezditi...
pa pravilen format datuma je Y-m-d aka iso format
', '2011-01-01'); DROP TABLE Komentarji;--
Ok, sedaj pa na odgovor, pravilno je treba gnezditi...
if ($preveri == $rezultat) { $sql="INSERT INTO Komentarji (Ime, Povezava, Komentar, Datum) VALUES ('$imekomentar','$povezava','$komentar', '$datum')"; if (!mysql_query($sql,$con)) { die('Napaka: ' . mysql_error()); } else { echo "Komentar uspešno oddan! <br/> <a href='komentar.php'>Nazaj na ogled komentarjev</a>"; } } else { echo "Komentar ni bil poslan! Ali ste pravilno sešteli števili? <br/> <a href='komentar.php'>Nazaj za ogled komentarjev</a>"; }
pa pravilen format datuma je Y-m-d aka iso format
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Zgodovina sprememb…
- spremenil: krho ()
krho ::
P.S.
Priporočam uporabo PDO, ali kakšne druge knjižnice recimo: DBAL
Priporočam uporabo PDO, ali kakšne druge knjižnice recimo: DBAL
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
echoman ::
Hvala za odgovore!
Tega ne razumem, zato bi prosil za krajšo razlago.
Sem uredil tisto kodo, kakor je bila v odgovoru, vendar še vedno ne dobim tistega kar je zapisano v IF stavku, ko preveri, če je vnos uspešno vnesen. Kako bi to lažje naredil, da bi vse skupaj funkcioniralo ob napaki MySQL baze oz. v primeru, da se ne more povezati z njo?
Zanima pa me še:
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
P.S.
Priporočam uporabo PDO, ali kakšne druge knjižnice recimo: DBAL
Tega ne razumem, zato bi prosil za krajšo razlago.
Sem uredil tisto kodo, kakor je bila v odgovoru, vendar še vedno ne dobim tistega kar je zapisano v IF stavku, ko preveri, če je vnos uspešno vnesen. Kako bi to lažje naredil, da bi vse skupaj funkcioniralo ob napaki MySQL baze oz. v primeru, da se ne more povezati z njo?
Zanima pa me še:
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
Zgodovina sprememb…
- spremenil: echoman ()
krho ::
V tem primeru, priporočam, da najprej prebereš kakšno knjigo o PHP programiranju, predvsem objektnem.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
echoman ::
Pravzaprav ne najdem načina, kako bi iz IF-a, ki je v IF-u izpisal napako, če se zgodi ker, če je seštevek števil napačen izpiše samo ELSE iz glavnega IF-a, ne pa še tisto kar je v notranjem IF-u, seveda.
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
echoman ::
Zgornji problem sem nekako rešil, sedaj pa me zanima naslednje. Kako v polju za komentar (textarea) onemogočim vnašanje več kot dveh povezav, naključnih html tagov in pa omogočim samodejno spuščanje vrstic?
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
Kako je najboljše vse skupaj spraviti v eno .php datoteko - da je na vrhu php in potem html in seveda v html-u še tisti "vstavki" php-ja ali kako drugače?
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Hvala in LP!
keworkian ::
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
$arr = array(1,2,3,4,5,6,7,8,9,10); $numbers = $arr[rand(0, count($arr))] ." + ". $arr[rand(0, count($arr)] . " = ";
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Saj imaš bazo ane?
echoman ::
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
$arr = array(1,2,3,4,5,6,7,8,9,10);
$numbers = $arr[rand(0, count($arr))] ." + ". $arr[rand(0, count($arr)] . " = ";
Kasneje, ko se bom srečeval s pisanjem skripte za novice, pa me zanima, kako se prikaže in da novico v kategorijo in pa razpored komentarjev pod to novico?
Saj imaš bazo ane?
Glede tistega z naključnimi številkami od 1 do 10, sem mislil za preverjanje proti spamu tako, da bi na koncu moral nekdo izračunati 2 števili.
Glede drugega pa, imam bazo, saj trenutno skripto s komentarji delam preko baze, le zanima me kje začeti, na kaj moram biti pozoren, ... , da seveda naredim sam svojo skripto.
Hvala in lep pozdrav!
keworkian ::
Glede tistega z naključnimi številkami od 1 do 10, sem mislil za preverjanje proti spamu tako, da bi na koncu moral nekdo izračunati 2 števili.
Saj to sem ti naredu... joj mladina
pa glej da boš vsak input escejpal, ker tisto kar si zgoraj delal je prov izzivanje, da ti nekdo neki grdega naredi.
krho ::
@keworkian: a nisi videl, da ni reagiral niti za ped, ko sem jaz zgoraj vpisal vsebino polja kometar.
edit:typo
edit:typo
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Zgodovina sprememb…
- spremenil: krho ()
echoman ::
@krho: Če misliš to, potem ti lahko le rečem, da se nisem kaj dosti poglabljal v stvar kasneje, ker tudi s tem kar si napisal ni delovalo. Sem sam popravil tako, kot sem želel.
Tisto glede sestave tabel za bazo me še vedno zanima, kje naj sploh začnem - registracija ali kaj drugega? Seveda bo celotna skripta zaenkrat le za vajo
Hvala in LP!
Tisto glede sestave tabel za bazo me še vedno zanima, kje naj sploh začnem - registracija ali kaj drugega? Seveda bo celotna skripta zaenkrat le za vajo
Hvala in LP!
krho ::
DA, daj v polje kometar vpiši moje besedilo.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
keworkian ::
@krho ja saj, zdej vidim zakaj se drugi dobro programerji pizdijo, ker mladina naredi shit pol so pa drugi krivi... katastrofa
mihaelf3 ::
@krho Manual pravi da mysql_query ne podpira večih queryev.
mysql_query() sends a unique query (multiple queries are not supported) to the currently active database
Ziga Dolhar ::
@krho Manual pravi da mysql_query ne podpira večih queryev.
mysql_query() sends a unique query (multiple queries are not supported) to the currently active database
Beri še komentarje spodaj.
https://dolhar.si/
echoman ::
Hvala za zgornje odgovore!
Sedaj pa me zanima, kako bi naredil, da se po kliku na nek gumb celotna stran po nekem ukazu (, ki bo nad kodo za) preusmeri(tev) na drugo datoteko. Kako to narediti?
Hvala in LP!
EDIT: Za zgornji gumb bi naredil v html-u form action in potem v ta form action dodal ta del kode - kako?
Kako narediti, da v primeru, da določeno polje (povezano preko POST iz form action v trenutno datoteko) nima podanega besedila, da se izpiše določeno besedilo?
Sedaj pa me zanima, kako bi naredil, da se po kliku na nek gumb celotna stran po nekem ukazu (, ki bo nad kodo za) preusmeri(tev) na drugo datoteko. Kako to narediti?
Hvala in LP!
EDIT: Za zgornji gumb bi naredil v html-u form action in potem v ta form action dodal ta del kode - kako?
Kako narediti, da v primeru, da določeno polje (povezano preko POST iz form action v trenutno datoteko) nima podanega besedila, da se izpiše določeno besedilo?
Zgodovina sprememb…
- spremenil: echoman ()
Anže Jarni ::
Če rabiš preusmeritev na gumbu (v HTML) lahko rečeš recimo:
Če misliš na preusmeritev iz PHPja, kjer si dejansko obdelal neke podatke in hočeš recimo uporabnika preusmerit nazaj,
potem rečeš (pogoj pri temu je, da nisi prej uporabniku izpisal - echo, print - nobene stvari)
Pri drugi zadevi, če misliš to, da ti določen input v formi pobira podatek iz POST-a:
<input type="button" value="Preusmeri!" onclick="window.location='http://www.google.com'" />
Če misliš na preusmeritev iz PHPja, kjer si dejansko obdelal neke podatke in hočeš recimo uporabnika preusmerit nazaj,
potem rečeš (pogoj pri temu je, da nisi prej uporabniku izpisal - echo, print - nobene stvari)
<?php header("Location: http://www.google.com"); ?>
Pri drugi zadevi, če misliš to, da ti določen input v formi pobira podatek iz POST-a:
<input type="text" value="<?=@$_POST['ime']?>" name="ime" />
Zgodovina sprememb…
- spremenil: Anže Jarni ()
krho ::
<?=@$_POST['ime']?>
Deluje samo na tvojem strežniku. Ker večina shared hostinga ima short tags ugasnjen.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Anže Jarni ::
Da bo sigurno uporabi:
Sicer pa najbrž ne deluje SAMO na mojem strežniku :) Veliko razvijam po različnih hostingih, pa to nikoli ni bil problem.
<input type="text" value="<?php echo @$_POST['ime']?>" name="ime" />
Sicer pa najbrž ne deluje SAMO na mojem strežniku :) Veliko razvijam po različnih hostingih, pa to nikoli ni bil problem.
Code is Art.
Zgodovina sprememb…
- spremenil: Anže Jarni ()
echoman ::
Hvala vsem za tole!
Sedaj sem se spravil naredit skripto za namestitev skripte, vendar ne znam narediti naslednjega. Vse skupaj bi rad spravil v eno datoteko, kar v index.php in da se mi potem po stopnjah izpisujejo npr. index.php?namest=1 strani takšne oblike. Potem me zanima še kaj narediti, da v primeru, da neka informacija (npr. uporabniško ime baze) ni bila podana, to izpiše na vrh skripte za namestitev - nad okni za vpis podatkov.
To je zaenkrat to, bi pa prosil za manjšo obrazložitev in pa kakšno povezavo na php.net za kakšno funkcijo
Hvala in LP!
Sedaj sem se spravil naredit skripto za namestitev skripte, vendar ne znam narediti naslednjega. Vse skupaj bi rad spravil v eno datoteko, kar v index.php in da se mi potem po stopnjah izpisujejo npr. index.php?namest=1 strani takšne oblike. Potem me zanima še kaj narediti, da v primeru, da neka informacija (npr. uporabniško ime baze) ni bila podana, to izpiše na vrh skripte za namestitev - nad okni za vpis podatkov.
To je zaenkrat to, bi pa prosil za manjšo obrazložitev in pa kakšno povezavo na php.net za kakšno funkcijo
Hvala in LP!
OnFire ::
Za tale "index.php?namest=1", dobiš URL preko GET metode in z uporabo stavka switch izbereš kodo, ki jo želiš za določeno podstran.
Maš tukaj vse razloženo: http://www.webdesign.org/web-programmin...
Na primer:
EDIT: Aja, če hočeš lepše url-je (npr.: www.primer.si/trgovina, namesto index.php?stran=trgovina lahko uporabiš Apache Rewrite mod.
Maš tukaj vse razloženo: http://www.webdesign.org/web-programmin...
Na primer:
$stran = $_GET[stran]; switch ($stran) { case home: echo "Welcome!!!"; break; case about: echo "BLABLABLABALAA"; break; case shop: include("shop.php") break; }
EDIT: Aja, če hočeš lepše url-je (npr.: www.primer.si/trgovina, namesto index.php?stran=trgovina lahko uporabiš Apache Rewrite mod.
Zgodovina sprememb…
- spremenil: OnFire ()
MrBrdo ::
Em ali pač uporabiš MVC framework (http://cakephp.org/) tako kot vsi normalni ljudje (če izvzamemo dejstvo da uporabljajo PHP)? Namesto da sam hackaš neke potencialno exploitable variante.
MrBrdo
technolog ::
Potem me zanima še, kako bi najlažje števila od 1 do 10 različno prikazoval in bi se ta seštevala - da se vedno prikažeta različni števili, ki jih je potrebno sešteti?
echo ($a=rand(1, 10)) ." + ". ($b=rand(1, 10)) . " = " . ($a+$b);
Zgodovina sprememb…
- spremenil: technolog ()
echoman ::
Hvala
@MrBrdo: Sem pogledal in me je začelo zanimati Sedaj me zanima, če imajo na strani kakšno obširno dokumentacijo, kako začeti in pa, če lahko celoten framework "predelam" oz. če se da predelati naslove (map, datotek) v slovenske, brez da bi pri tem izgubil varnost/funkcionalnost? Se da z njim dejansko narediti varen miniCMS, ki bo prilagodljiv glede na obliko strani in administracijo? Glede na to da je stvar zanimiva, me zanima še kako je potem, ko izide nova različica - je potrebna kakšna nadgradnja ali je trenutna različica že kar dobro zaščitena? Je po končanem delu potrebno navesti s katerim framework-om je bilo vse skupaj narejeno?
Pred nekaj časa sem sicer že gledal CodeIgniter - ali sta podobna in kater, lažji (za začetnika) za uporabo?
Hvala in LP!
@MrBrdo: Sem pogledal in me je začelo zanimati Sedaj me zanima, če imajo na strani kakšno obširno dokumentacijo, kako začeti in pa, če lahko celoten framework "predelam" oz. če se da predelati naslove (map, datotek) v slovenske, brez da bi pri tem izgubil varnost/funkcionalnost? Se da z njim dejansko narediti varen miniCMS, ki bo prilagodljiv glede na obliko strani in administracijo? Glede na to da je stvar zanimiva, me zanima še kako je potem, ko izide nova različica - je potrebna kakšna nadgradnja ali je trenutna različica že kar dobro zaščitena? Je po končanem delu potrebno navesti s katerim framework-om je bilo vse skupaj narejeno?
Pred nekaj časa sem sicer že gledal CodeIgniter - ali sta podobna in kater, lažji (za začetnika) za uporabo?
Hvala in LP!
techfreak :) ::
Pred nekaj časa sem sicer že gledal CodeIgniter - ali sta podobna in kater, lažji (za začetnika) za uporabo?
CakePHP je lažji in ti omogoča veliko več, poleg tega pa ima zelo dober način za dostop do baze, ki je podoben tistemu iz Railsa.
Je po končanem delu potrebno navesti s katerim framework-om je bilo vse skupaj narejeno?
Odvisno od frameworka, ponavadi ni potrebno.
Sedaj me zanima, če imajo na strani kakšno obširno dokumentacijo, kako začeti in pa, če lahko celoten framework "predelam" oz. če se da predelati naslove (map, datotek) v slovenske, brez da bi pri tem izgubil varnost/funkcionalnost?
Predelaš ga lahko, vendar je to v večini primerov nesmiselno.
Glede na to da je stvar zanimiva, me zanima še kako je potem, ko izide nova različica - je potrebna kakšna nadgradnja ali je trenutna različica že kar dobro zaščitena?
Pri znanih in pogosto uporabljenih frameworkih so kakšne varnostne ranljivosti zelo redke, če pa so, boš pa moral nadgradati. Vsekakor je dobro tvojo aplikacijo toliko ločiti od frameworka, da ga boš lahko še vseeno nadgradil.
MrBrdo ::
To kar je rekel techfreak. Nisem hotel delat reklame za CakePHP posebej, ampak na splošno za MVC frameworke. Tudi CodeIgniter je dober, je bolj modularen od CakePHP.
Glede prevajanja (kode in direktorijev) v slovenščino ti svetujem da to pozabiš, in tako kot je že bilo povedano, to ni preveč smiselno. Ni pa noben problem imeti slovenske URLje in prevode tekstov na strani.
Kar se pa nadgrajevanja tiče, kolikor jaz vem (ne poznam tako dobro PHP frameworkov), je pri PHP frameworkih to malo bolj komplicirano, ampak se da. Boljše je pri npr. Django-tu in Rails-ih.
Kar se dokumentacije tiče je pri CakePHP kar dobra: http://book.cakephp.org/view/879/Beginn... no pa tudi pri ostalih večjih frameworkih je sigurno dobra dokumentacija.
Glede prevajanja (kode in direktorijev) v slovenščino ti svetujem da to pozabiš, in tako kot je že bilo povedano, to ni preveč smiselno. Ni pa noben problem imeti slovenske URLje in prevode tekstov na strani.
Kar se pa nadgrajevanja tiče, kolikor jaz vem (ne poznam tako dobro PHP frameworkov), je pri PHP frameworkih to malo bolj komplicirano, ampak se da. Boljše je pri npr. Django-tu in Rails-ih.
Kar se dokumentacije tiče je pri CakePHP kar dobra: http://book.cakephp.org/view/879/Beginn... no pa tudi pri ostalih večjih frameworkih je sigurno dobra dokumentacija.
MrBrdo
Zgodovina sprememb…
- spremenilo: MrBrdo ()
echoman ::
Hvala za zgornje odgovore!
Sedaj pa me zanima naslednje. Imamo datoteko poimenovano obrazec.php, v njej pa je narejen obrazec s tremi polji. V primeru, da uporabnik v prvo polje vnese en ali več presledkov na začetku ali koncu in več kot en presledek med besedami, ter v drugem polju presledek/presledke med besedami in začetku/koncu, da ga na le-to skripta opozori. Sama skripta pa bi se izvajala sama v sebi (action=obrazec.php). Kako naj to naredim? Zanima me predvsem koda, ki bi to onemogočila in bila po možnosti v if-u.
Hvala!
Sedaj pa me zanima naslednje. Imamo datoteko poimenovano obrazec.php, v njej pa je narejen obrazec s tremi polji. V primeru, da uporabnik v prvo polje vnese en ali več presledkov na začetku ali koncu in več kot en presledek med besedami, ter v drugem polju presledek/presledke med besedami in začetku/koncu, da ga na le-to skripta opozori. Sama skripta pa bi se izvajala sama v sebi (action=obrazec.php). Kako naj to naredim? Zanima me predvsem koda, ki bi to onemogočila in bila po možnosti v if-u.
Hvala!
Ziga Dolhar ::
Najprej - v čem je problem, če uporabnik vnese preveč presledkov? Je res potrebno, da na presledke "pazi" uporabnik in jih ne moreš sam [na strežniku] lepo spucat?
https://dolhar.si/
echoman ::
Problem je predvsem v tem, ker je potem izpis čuden - brezvezni presledki, pri povezavah pa že tako ali tako ne bi smelo biti presledkov, pa se vendarle lahko kdo zmoti. Na strežniku oz. v bazi bi bolj težko pucal večje število teh presledkov, saj bi ob večjem številu vnosov potreboval veliko časa zato.
Me pa še vedno zanima, kako bi to lahko naredil.
Hvala in LP!
Me pa še vedno zanima, kako bi to lahko naredil.
Hvala in LP!
techfreak :) ::
Torej se nisi odločil za framework?
Presledke pred in na koncu preveriš z:
Presledke med besedami pa npr tako:
Funkcija vrne true, če najdejo vsaj dva presledka skupaj, drugače pa false.
Res ne vem, zakaj bi bilo te presledke težko izbrisati pred vnosom v bazom.
Presledke pred in na koncu preveriš z:
if(trim($besedilo) != $besedilo))
Presledke med besedami pa npr tako:
function presledki($besedilo) { $tp = false; for($i = 0; $i < strlen($besedilo); $i++) if($besedilo{$i} == ' ') if($tp) return true; else $tp = true; else $tp = false; return false; }
Funkcija vrne true, če najdejo vsaj dva presledka skupaj, drugače pa false.
Res ne vem, zakaj bi bilo te presledke težko izbrisati pred vnosom v bazom.
Zgodovina sprememb…
- spremenil: techfreak :) ()
Ziga Dolhar ::
Torej - namesto "preverjanja" presledkov te lepo pridno odstraniš. Boš pokuril bistveno manj procesorskih ciklov kot če bi uporabnika opozarjal naj sam popravi(fail!) to trivialno napako.
https://dolhar.si/
technolog ::
Žiga, to se pa totalno strinjam. Čeprav jaz bi bolj poudaril enostavnost kode, ker se razlika v CPU ciklih ne pozna.
Pa za brisanje presledkov med besedami, uporabi raje regex, da zamenjaš \s+ v \s , pa boš imel eno vrstico kode.
Pa za brisanje presledkov med besedami, uporabi raje regex, da zamenjaš \s+ v \s , pa boš imel eno vrstico kode.
Zgodovina sprememb…
- spremenil: technolog ()
echoman ::
Hvala za odgovore!
Sem gledal nekaj časa vse skupaj in skušal izdelati neko enostavno stran, vendar me je na koncu vse skupaj minilo in sem začel delati od začetka. Zaenkrat bom raje delal še brez frameworka, kasneje ko pa bo stvar bolj resno potrebno vzeti v roke, se bom pa seveda naučil dela s frameworkom.
Glede presledkov pa je tako, da če bi imel na strani veliko novih uporabnikov, ki radi preizkušajo "sisteme", ne bi bilo precej lahko delo z brisanjem le-teh.
Niti ne razumem, kaj sploh je to, sem pa iskal ampak nikjer dejanskega odogovora za PHP.
Zanima me še, če je v nekem textboxu sporočilo, ki ima najprej neko besedilo in nato novo vrsto, kako naredim, da se v bazo vse skupaj izpiše s tem presledkom in je tudi pri prikazovanju rezultatov iz baze enako?
Hvala in LP!
techfreak :) je izjavil:
Torej se nisi odločil za framework?
Sem gledal nekaj časa vse skupaj in skušal izdelati neko enostavno stran, vendar me je na koncu vse skupaj minilo in sem začel delati od začetka. Zaenkrat bom raje delal še brez frameworka, kasneje ko pa bo stvar bolj resno potrebno vzeti v roke, se bom pa seveda naučil dela s frameworkom.
Glede presledkov pa je tako, da če bi imel na strani veliko novih uporabnikov, ki radi preizkušajo "sisteme", ne bi bilo precej lahko delo z brisanjem le-teh.
Pa za brisanje presledkov med besedami, uporabi raje regex, da zamenjaš \s+ v \s , pa boš imel eno vrstico kode.
Niti ne razumem, kaj sploh je to, sem pa iskal ampak nikjer dejanskega odogovora za PHP.
Zanima me še, če je v nekem textboxu sporočilo, ki ima najprej neko besedilo in nato novo vrsto, kako naredim, da se v bazo vse skupaj izpiše s tem presledkom in je tudi pri prikazovanju rezultatov iz baze enako?
Hvala in LP!
technolog ::
Tole zadnje vprašanje si malo čudno zastavil, zato bom pač uganil. Stvar je enostavna. Tisto, kar dobiš iz baze pofutraš funkciji nl2br($tekst), pa ti bo pretvorilo znak za novo vrsto v HTML značko.
echoman ::
Hvala, vse skupaj deluje!
Zanima me še kako bi zgornjo kodo za presledke preoblikoval za primer, da tudi med besedami ne sme biti presledkov?
Hvala in LP!
Zanima me še kako bi zgornjo kodo za presledke preoblikoval za primer, da tudi med besedami ne sme biti presledkov?
Hvala in LP!
techfreak :) ::
function presledki($besedilo) {for($i = 0; $i < strlen($besedilo); $i++) if($besedilo{$i} == ' ') return true; return false;}
Zgodovina sprememb…
- spremenil: techfreak :) ()
Ziga Dolhar ::
techfreak :) je izjavil:
function presledki($besedilo) {for($i = 0; $i < strlen($besedilo); $i++) if($besedilo{$i} == ' ') return true; return false;}
Em, kaj naj bi tale funkcija storila? Kolikor jo jaz razumem, zgolj pogleda, če v nizu obstaja presledek. In če naleti že na en sam presledek, vrne true. To bi lahko sicer precej enostavneje ugotovil s strpos() ali drugo sorodno funkcijo.
Fanta motijo zgolj dvojni presledki (' '). Predvsem pa bi jih rad odstranil ali nadomestil z enojnimi presledki. str_replace() oziroma regexp nadomestek, explode()/implode() ...
https://dolhar.si/
techfreak :) ::
Če ga prav razumem, on želi iskati presledke, ne pa jih zamenjati. Ta koda pa preveri, če so med besedami presledki ... vsaj tako sem ga razumel.
echoman ::
Deluje tako, kot sem si zamislil
Zanima me še glede switch in case. Vse sem na podani povezavi prebral, vendar ne razumem kako GET dobi naslov strani (npr. index.php) in kasneje druge strani (npr. index.php?stran=2) uporabi. Poleg tega me zanima kako bi lahko s tem naredil enostavno navigacijo in nek postopek z več stranmi (npr. index.php?postopek=1, index.php?postopek=2, ...), tako da mi ne bi bilo potrebno ustvarjati za vsak postopek nove datoteke.
Hvala in LP!
Zanima me še glede switch in case. Vse sem na podani povezavi prebral, vendar ne razumem kako GET dobi naslov strani (npr. index.php) in kasneje druge strani (npr. index.php?stran=2) uporabi. Poleg tega me zanima kako bi lahko s tem naredil enostavno navigacijo in nek postopek z več stranmi (npr. index.php?postopek=1, index.php?postopek=2, ...), tako da mi ne bi bilo potrebno ustvarjati za vsak postopek nove datoteke.
Hvala in LP!
keworkian ::
switch ($_GET['postopek']) { case 1: /*postpopek*/ break; case 2: /*postope*/ break; /*in tko dalje*/ }
Obscenities in B-Flat
echoman ::
Kako pa linkam te strani v primeru da želim imeti index.php?stran=1 in na vsaki drugi strani (2, 3, 4, ...) neko drugo vsebino?
Potem me zanima še za zgornji primer, če celotno stvar naredim z if-om, kako potem v if-u pokažem, naj gre na naslednjo "stopnjo" npr. iz 1 na 2?
Hvala in LP!
Potem me zanima še za zgornji primer, če celotno stvar naredim z if-om, kako potem v if-u pokažem, naj gre na naslednjo "stopnjo" npr. iz 1 na 2?
Hvala in LP!
keworkian ::
$link = null; $strani = array('Neka stran', 'Druga stran', 'Tretja Stran'); for ($i = 1; $i<10; $i++) { $link .= "<a href=\"index.php?stran=$i\">$strani[$i]</a>"; } $stran = $_GET['stran']; //z if if ($stran == 1) { header('Location: index.php?stran=2'); } else if ($stran == 2){} //z switch switch ($stran) { case 1: header('Location: index.php?stran=2'); break; case 2: //itd break; }
Obscenities in B-Flat
Zgodovina sprememb…
- spremenil: keworkian ()
echoman ::
Hvala.
Ne razumem le iz kje naj dobim $stran, da bo kasneje celoten if deloval?
LP, echoman
Ne razumem le iz kje naj dobim $stran, da bo kasneje celoten if deloval?
LP, echoman
keworkian ::
$stran = $_GET['stran'];
Dobiš ga pa iz
$link .= "<a href=\"index.php?stran=$i\">$strani[$i]</a>";
Obscenities in B-Flat
Zgodovina sprememb…
- spremenil: keworkian ()
echoman ::
Ko vnesem prvih 5 vrstic in if, potem dobim le error-e in iz tega ni nič. Kaj moram sploh spremeniti?
LP
LP
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Neupravicen padec na izpitu (strani: 1 2 )Oddelek: Na cesti | 16510 (14110) | LordNacho |
» | Kako vi programirate?Oddelek: Programiranje | 6035 (4580) | MrBrdo |
» | Router Asus WL-500gp V2 & Simobil modem Icon 225Oddelek: Omrežja in internet | 1335 (1257) | r0b3rt |
» | Premajhna sistemska particijaOddelek: Pomoč in nasveti | 2649 (2177) | joze67 |
» | [c++] programiranje v linuxu - eclipseOddelek: Programiranje | 1518 (1324) | mile |