Eli tarvitsen sivuilleni haku sciptin. Käytettävissä on MySQL, PHPMyAdmin ja PHP
Koodin pitäisi olla mahdollisemman yksin kertainen. Trvitsen koodia nopesti... Kiitos jo etukäteen!
(Mod. yhdisti aiheet. Älä tee useaa aihetta samasta kysymyksestä.)
Eli tarvitsen seuraavat asiat.
Haku scipterin joka hakee tiedot luotujen sivujen nimistä.
Sitten Lomakkeen, jossa kysytään seuraavia osioita: Kerääjä, laji, päivämäärä, paikka josta kerättiin ja kuvia (max 4). Noilla tiedoilla se loisi sivuston ja luo sivulle satunnaisen numero sarjan. Sivusto voi olla PHP ja käytössä on myös MySQL. Maksan 5€ PaySafeCartilla. Yhteyden otot tähän tai emailiin. kauppa@muurahaiset.net
Onko sivut tietokannassa vai tiedostoissa?
Yleensä kun halutaan jotain, niin tarvitsee maksaa...
5 €?
https://www.ohjelmointiputka.net/oppaat/opas.
https://www.ohjelmointiputka.net/oppaat/opas.
Toivon todella että kukaan ei tee tätä 5 eurolla.
Macro kirjoitti:
Yleensä kun halutaan jotain, niin tarvitsee maksaa...
Ei nyt niinkään, netistä löytyy vaikka mitä ilmaista kun vaan jaksaa etsiä.
Tuosta vaikka ensimmäistä osumaa:
http://www.google.com/search?q=php seach script&aq=f&sugexp=chrome,mod=10&sourceid=chrome&ie=UTF-8
<?php // Yhdistäminen tietokantaan: try { $yhteys = new PDO("mysql:host=localhost;dbname=TIETOKANTA", "KÄYTTÄJÄ", "SALASANA"); } catch (PDOException $e) { die("VIRHE: " . $e->getMessage()); } $yhteys->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $yhteys->exec("SET NAMES latin1"); //"Siivous": function sanitize($data){ $data=trim($data); $data=htmlspecialchars($data); //$data=stripslashes($data); $data=mysql_real_escape_string($data); return $data; } //Jos hakua ei ole suoritettu: if (!(isset($_POST["keyword"]))) { ?> <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post"> <input type="text" name="keyword"></input> <input type="submit" value="Etsi!"></input> </form> <?php //Jos haku on suoritettu: } else if (isset($_POST["keyword"])) { //Hakee hakusanan ja "siivoaa" sen: $keyword = sanitize($_POST["keyword"]); // Haetaan vain ne kentät, joita tarvitsemme. Muokataan samalla päivämäärä oikeaan muotoon. $sql = $yhteys->prepare("SELECT id, nimi, kirjoittaja, TIME_FORMAT(date, '%d.%m.%Y') AS paivays FROM table WHERE nimi LIKE ?"; // Liitetään kyselyyn vielä oikea määrä muuttujia. $sql->execute(Array($_GET['keyword'])); //Haku: while($rivi = $sql->fetch()) { $id = $row['id']; //Aiheen ID $nimi = $row['nimi']; //Aiheen nimi $kirjoittaja = $row['kirjoittaja']; //Aiheen kirjoittaja $date = $row['paivays']; //Aiheen päivämäärä $num_rows = mysql_num_rows($result); //Hakua vastaavien aiheiden lukumäärä if($num_rows < 100) { //Jos aiheita on alle 100: echo "<a href='aihe.php?id=".$id.">".$nimi."</a><br>Kirjoitettu: ".$date."<br>Kirjoittaja: ".$kirjoittaja."<br>"; //Näyttää tiedot ja tekee toisen rivin. } else if($num_rows >= 100) { //Jos tuloksia on yli tai tasan 100: echo "Liian monta tulosta. Tarkenna hakusanaa."; //Näyttää virheilmoituksen. } else if(empty($num_rows)) { //Jos tuloksia ei ole. echo "Tuloksia ei löytynyt hakusanalla ''".$keyword."''. Tarkista hakusana."; //Näyttää virheilmoituksen. } } } ?>
Jami Entäs jos tuloksia on tasan sata? Muutoinkin melko ruman näköinen koodi. Käyttäisit edes jotakin rajapintaa tuohon kannan käsittelyyn. Esimerkiksi täälläkin ainakin parissa keskustelussa on ehdotettu PDO:a tuohon hommaan. Nythän tuossa on aivan kaamea SQL-injektio. Puhumattakaan syntaksivirheistä.
Etkö näe, että siinä on PDO? :D
Ei, vaan sinä olet ruma, eihän sillä koodin ulkonäöllä ole mitään merkitystä, kunhan vain toimii ja tiedoksi vain, että vanhentuneen standardin käyttäminenkään ei ole tietoturvariski. Muokkasin tuon koodin nopeasti omastani, enkä testannut sitä. Siinä voi olla hieman ongelmia, mutta veikkaan, että ei ole. En ole muutenkaan oikein perässä tästä kehityksestä, tietotekniikka kehittyy ehkä vähän liiankin nopeasti. :D
Joo olihan siellä PDO mukana. Et kuitenkaan tee asiaa oikein, koska nythän annat tuon (mahdollisesti vaarallisen) muuttujan suorana kyselyyn mukaan. Tällainen tapa on edelleen varsin vaarallinen.
EDIT: Jami muokkasikin vastaustaan.
Niin siis onhan siellä tietoturvariski, edellämainitusta syystä. Rumasti koodattua ohjelmaa on hankalaa lukea, joten kyllä sillä ulkonäölläkin on merkitystä.
Oho, en muistanut lisätä tätä:
function sanitize($data){ $data=trim($data); $data=htmlspecialchars($data); //$data=stripslashes($data); $data=mysql_real_escape_string($data); return $data; } $keyword = sanitize($_POST["keyword"]);
EDIT: Niin, lisäsin siihen PDO:n, koska itse en vielä käytä sitä ja kerropas mikä tietoturvariski siellä mukamas vieläkin olisi?
Mod. korjasi kooditagit!
Tai sitten vain yksinkertaisesti:
<?php $sql = $yhteys->prepare("SELECT * FROM table where nimi = ?"; $sql->execute(Array($_GET['keyword'])); ?>
htmlspecialchars ja vastaavat tulostukseen liittyvät funktiot pitäisi ajaa ennen tulostusta ei ennen kantaan kirjoittamista.
Teuro kirjoitti:
Tai sitten vain yksinkertaisesti:
<?php $sql = $yhteys->prepare("SELECT * FROM table where nimi = ?"; $sql->execute(Array($_GET['keyword'])); ?>htmlspecialchars ja vastaavat tulostukseen liittyvät funktiot pitäisi ajaa ennen tulostusta ei ennen kantaan kirjoittamista.
Itse en käytä PDO:ta, joten en tiedä noista ->execute jutuista.
Olen oppinut käyttämään '$data' kyselyssä, koska mikään muu ei ole toiminut ja toimiiko PDO PHP 4:ssä?
Jami kirjoitti:
EDIT: Niin, lisäsin siihen PDO:n, koska itse en vielä käytä sitä ja kerropas mikä tietoturvariski siellä mukamas vieläkin olisi?
No hankala tässä on keskustella, kun sä kokoajan muuttelet noita sun viestejäsi. Olet kaiketi nyt lisännyt tuon edellä mainostamasi siivousfunktion. Koodin rakenne alkaa olemaan jo erittäin hankalaa luettavuudeltaan, joten sen ylläpitäminen ei varmaankaan ole erityisen mukavaa.
Teuro kirjoitti:
Jami kirjoitti:
EDIT: Niin, lisäsin siihen PDO:n, koska itse en vielä käytä sitä ja kerropas mikä tietoturvariski siellä mukamas vieläkin olisi?
No hankala tässä on keskustella, kun sä kokoajan muuttelet noita sun viestejäsi. Olet kaiketi nyt lisännyt tuon edellä mainostamasi siivousfunktion. Koodin rakenne alkaa olemaan jo erittäin hankalaa luettavuudeltaan, joten sen ylläpitäminen ei varmaankaan ole erityisen mukavaa.
Päivitän sitä koodia tässä samalla, että sen voi kopioida toimivana. :)
Kyllä nyt kenen tahansa pitäisi tajuta tuota koodia ilman selityksiä, oletko aloittelija?
Jami kirjoitti:
Päivitän sitä koodia tässä samalla, että sen voi kopioida toimivana. :)
Kyllä nyt kenen tahansa pitäisi tajuta tuota koodia ilman selityksiä, oletko aloittelija?
Kirjoita mielummin kerralla toimivaa kopioitavaa koodia. Aloittelijaksi en nyt itseäni ehkä luonnehtisi. Tajuan kyllä mitä tuossa tehdään, mutta useassa kohdassa pitää kyllä kysyä miksi.
Teuro kirjoitti:
Jami kirjoitti:
Päivitän sitä koodia tässä samalla, että sen voi kopioida toimivana. :)
Kyllä nyt kenen tahansa pitäisi tajuta tuota koodia ilman selityksiä, oletko aloittelija?Kirjoita mielummin kerralla toimivaa kopioitavaa koodia. Aloittelijaksi en nyt itseäni ehkä luonnehtisi. Tajuan kyllä mitä tuossa tehdään, mutta useassa kohdassa pitää kyllä kysyä miksi.
Pistin selitykset. Tärkeintä on, että koodi toimii. Olisin tietenkin yhtä hyvin voinut veloittaa kunnollisesta koodista, mutta muokkasin omaani nopeasti veloituksetta. :D
Tällaisesta koodista voisi ehkä aloitella kehittämään aloittajan tarpeisiin jotakin sopivaa.
<?php /** Liitetään mukaan yhteys tietokantaan **/ require_once("apuvalineet/tietokanta.php"); if (!isset($_GET['id'])) { echo "<p>Muista laittaa jotakin haettavaa</p>"; } else { /** Haetaan vain ne kentät, joita tarvitsemme. Muokataan samalla päivämäärä oikeaan muotoon **/ $sql = $yhteys->prepare("SELECT id, nimi, kirjoittaja, TIME_FORMAT(date, '%d.%m.%Y') AS paivays, COUNT(*) AS maara FROM table WHERE id = ?"; /** Liitetään kyselyyn vielä oikea määrä muuttujia turvallisesti **/ $sql->execute(Array($_GET['id'])); /** Käydään tulokset läpi ja tulostetaan taulukkoon. **/ while($rivi = $sql->fetch()) { $id = $row['id']; $nimi = $row['nimi']; $kirjoittaja = $row['kirjoittaja']; $date = $row['paivays']; echo "<tr><td>{$id}</td><td>{$nimi}</td><td>{$kirjoittaja}</td><td>{$paivays}</td></tr>"; } }
Tuossahan ei ole rajoituksia ollenkaan, eli jos hakee tuhansia rivejä, siinähän kestää kauan,missään ei ole lomaketta ja miksi et käytä divejä? Lisäksi, missään ei lue miten yhdistää tietokantaan, jos joku ei osaa PDO:lla, muuten kyllä ihan toimiva koodi.
Et myöskään vieläkään vastannut kysymykseeni, että toimiiko PDO PHP 4:llä?
Kopioinkin nuo omaan koodiini. :)
Tuollaisten rajoitusten lisääminen ei ole ongelma, jos niille alkaa olemaan tarvetta. Aloitajalla tuskin tulee yhdelle kirjoitajalle tuhansia rivejä tuloksia.
Miksi ihmeessä muuten käyttäisin divejä taulukkomuotoisen datan esittämiseen?
PDO: toiminnasta PHP:n versiossa numero en tiedä en ohjelmoinut sillä enää pitkään aikaan. Kannattaa kokeilla, niin saat varmennan vastauksen.
Tietokantaan yhdistetään tuossa liittämässäni tiedostossa. Se miten se tarkkaan ottaen tehdään on sivuseikka. Tärkempää on koodin looginen rakenne. Koodin toimivuus ei ole pääasia. Tärkeimpiä asioita ovat luettavuus, ylläpidettävyys, laajennettavuus. Koodin toimivuus on oletusarvo, jolle ei lasketa mitään lisäarvoa.
Teuro kirjoitti:
Tuollaisten rajoitusten lisääminen ei ole ongelma, jos niitä alkaa esiintymään. Aloitajalla tuskin tulee yhdelle kirjoitajalle tuhansia rivejä tuloksia. Miksi ihmeessä käyttäisin divejä taulukkomuotoisen datan esittämiseen?
PDO: toiminnasta PHP:n versiossa numero en tiedä en ohjelmoinut sillä enää pitkään aikaan. Kannattaa kokeilla, niin saat varmennan vastauksen.
Tietokantaan yhdistetään tuossa liittämässäni tiedostossa. Se miten se tarkkaan ottaen tehdään on sivuseikka. Tärkempää on koodin looginen rakenne. Koodin toimivuus ei ole pääasia. Tärkeimpiä asioita ovat luettavuus, ylläpidettävyys, laajennettavuus. Koodin toimivuus on oletusarvo, jolle ei lasketa mitään lisäarvoa.
Hehkutat noita sanoja "turvallisesti", jne ja miksi valita vain ne kentät, joita tarvitaan, jos ne kentät ovat ainoat kentät rivillä. Enkä tarkoittanut tuhansilla riveillä yhden kirjoittajan rivejä vaan kaikkien ja miksi et käytä LIKE:ä? Olen aina ajatellut, että div on taulukkojen uusi ja muutenkin parempi ja yksinkertaisempi tapa, esim:
<div id=taulu>
<div>...</div>
<div>...</div>
<div>...</div>
<div>...</div>
</div>
Itselläni OVH:lla ei toimi PHP 5 ihan hyvin. :/
Jami kirjoitti:
Hehkutat noita sanoja "turvallisesti", jne ja miksi valita vain ne kentät, joita tarvitaan, jos ne kentät ovat ainoat kentät rivillä. Enkä tarkoittanut tuhansilla riveillä yhden kirjoittajan rivejä vaan kaikkien ja miksi et käytä LIKE:ä?
Itselläni OVH:lla ei toimi PHP 5 ihan hyvin. :/
No tällöin koodin lukijalle sanotaan suoraan, että kannasta löytyy nämä kentät. Samoin päiväyksen muotoileminen kyselyssä antaa suoraan oikeassa muodossa olevan datan käyttöön. Turvallisesti tekeminen on varmaan ihan jees, niin ei sitten kannat vahingossa tyhjene.
Miksi pitäisi käyttää LIKE, jos halutaan nimenomaan yhden käyttäjän tulokset? Käyttämäsi termi OVH menee nyt ohi, mutta se ei liene asian kannalta oleellista.
En vieläkään tajua, miksi porukka tekee aina niin pikkutarkkaan standardin mukaan ja ei vaan tee omalla toimivalla tavallaan, koska virheistä oppii ja sitten valitetaan, jos joku ei tee samoin, mutta on kai noudatettava standardia, koska muuten kukaan ei vastaa aiheisiin.
No, eihän siinä ole mitään järkeä hakea yhden käyttäjän tiettyä aihetta. Ei mikään hakuskripti toimi niin.
OVH on webhost.
Jami kirjoitti:
En vieläkään tajua, miksi porukka tekee vieläkin aina niin pikkutarkkaan standardin mukaan ja ei vaan tee omalla toimivalla tavallaan ja sitten valitetaan, jos joku ei tee samoin.
Sinun tavoissasi tehdä asioita ei ole yhtään mitään järkeä. Et vielä itse tajua sitä, koska parin sadan koodirivin paskominen täysin käsittämättömäksi roskaksi on oikeastaan mahdotonta. Mutta kun koodia alkaa kertyä, niin ainoa mahdollisuus on se, että tulet vihaamaan itseäsi, koska olet tehnyt kaiken niin täydellisen väärin.
Väitänpä vain, että "php5-ongelmat" ovat omaa osaamattomuuttasi. Olet luultavasti vain luovuttanut kertaheitolla, kun olet törmännyt johonkin ongelmaan, jonka olet itse aiheuttanut koodaamalla väärin tai sellaisella tavalla, joka ehkä toimi php4:n kanssa muttei enää vitosessa.
Jami kirjoitti:
En vieläkään tajua, miksi porukka tekee vieläkin aina niin pikkutarkkaan standardin mukaan ja ei vaan tee omalla toimivalla tavallaan ja sitten valitetaan, jos joku ei tee samoin. Nörtit oppii kirjoista ja oppaista, oikeat ohjelmoijat oppii itse.
Kokemus opettaa ajan kanssa. Oletan sinunkin arvostavan siistiä ja tyylikästä koodia, jota ymmärtää helposti vielä pitkänkin ajan jälkeen. Kooda sinä ihan niin kuin haluat, mutta standardien noudattaminen helpottaa kummasti. Olen minäkin oppinut itse ei siinä mitään.
Jami kirjoitti:
No, eihän siinä ole mitään järkeä hakea yhden käyttäjän tiettyä aihetta. Ei mikään hakuskripti toimi niin.
Jos minä haen käyttäjän id:ä juttuja, niin oletan perustellusti, että saan nimenomaan hakemaani käyttäjään liittyvät jutut esille, enkä esimerkiksi jonkun toisen käyttäjän. Eri asia on sitten jos lähdetään hakemaan nimen perusteella. Tällöin avainsana LIKE voisi olla paikallaan, mutta tällöinkin kannattaa jokaiselta käyttäjältä hakea vaikkaa kolme parasta juttua ja linkki sitten itse käyttäjään.
The Alchemist kirjoitti:
Jami kirjoitti:
En vieläkään tajua, miksi porukka tekee vieläkin aina niin pikkutarkkaan standardin mukaan ja ei vaan tee omalla toimivalla tavallaan ja sitten valitetaan, jos joku ei tee samoin.
Sinun tavoissasi tehdä asioita ei ole yhtään mitään järkeä. Et vielä itse tajua sitä, koska parin sadan koodirivin paskominen täysin käsittämättömäksi roskaksi on oikeastaan mahdotonta. Mutta kun koodia alkaa kertyä, niin ainoa mahdollisuus on se, että tulet vihaamaan itseäsi, koska olet tehnyt kaiken niin täydellisen väärin.
Väitänpä vain, että "php5-ongelmat" ovat omaa osaamattomuuttasi. Olet luultavasti vain luovuttanut kertaheitolla, kun on tullut eteen joku asia, kun olet koodannut väärällä tavalla, joka on ehkä toiminut php4:llä, ja todennut vain ettei php5 toimi. Ei näin.
Ainakin tajuan pitkää koodia, mutta virheistä oppii. :D
Ei helvetti sentään sinua, nyt alat oikeen haukkumaankin, OVH ei tue PHP5:tä, kokeile vaikka itse. Olen vasta 15-vuotias ja ohjelmoin mielestäni ihan sujuvaa koodia ikäisekseni. Ohjelmoin jokaista koodia monia tunteja päivässä jopa yhtä ongelmaa ratkoen, ei minulla ole kiire mihinkään, en ole ikinä luovuttanut. :)
Lisäys:
Teuro kirjoitti:
Jami kirjoitti:
En vieläkään tajua, miksi porukka tekee vieläkin aina niin pikkutarkkaan standardin mukaan ja ei vaan tee omalla toimivalla tavallaan ja sitten valitetaan, jos joku ei tee samoin. Nörtit oppii kirjoista ja oppaista, oikeat ohjelmoijat oppii itse.
Kokemus opettaa ajan kanssa. Oletan sinunkin arvostavan siistiä ja tyylikästä koodia, jota ymmärtää helposti vielä pitkänkin ajan jälkeen. Kooda sinä ihan niin kuin haluat, mutta standardien noudattaminen helpottaa kummasti. Olen minäkin oppinut itse ei siinä mitään.
Jami kirjoitti:
No, eihän siinä ole mitään järkeä hakea yhden käyttäjän tiettyä aihetta. Ei mikään hakuskripti toimi niin.
Jos minä haen käyttäjän id:ä juttuja, niin oletan perustellusti, että saan nimenomaan hakemaani käyttäjään liittyvät jutut esille, enkä esimerkiksi jonkun toisen käyttäjän. Eri asia on sitten jos lähdetään hakemaan nimen perusteella. Tällöin avainsana LIKE voisi olla paikallaan, mutta tällöinkin kannattaa jokaiselta käyttäjältä hakea vaikkaa kolme parasta juttua ja linkki sitten itse käyttäjään.
Ohjelmoin vain tuosta Ohjelmointiputkan haun tapaisen. Tuo on käsitykseni hausta. Kirjoita vaikka hakuun "haku".
Jami kirjoitti:
OVH ei tue PHP5:tä, kokeile vaikka itse.
Ei minun tarvitse. Sen kuin linkkaan sinulle OVH:n infosivun, jossa selvästi sanotaan, että kaikilta palvelimilta löytyy jopa aivan uusi php 5.4.
http://www.ovh-hosting.fi/jaettu_hosting/
Sellaista web-hotellia ei tässä maailmassa enää olekaan, josta löytyisi vain nelosversio php:stä. Veikkaan, että lähempänä ollaan sitä tilannetta, ettei enää löydy lainkaan palveluita, joissa edes olisi php4 tarjolla...
Jami kirjoitti:
Ainakin tajuan pitkää koodia, mutta virheistä oppii. :D
Ei helvetti sentään sinua, nyt alat oikeen haukkumaankin, OVH ei tue PHP5:tä, kokeile vaikka itse. Olen vasta 15-vuotias ja ohjelmoin mielestäni ihan sujuvaa koodia ikäisekseni. Ohjelmoin jokaista koodia monia tunteja päivässä jopa yhtä ongelmaa ratkoen, ei minulla ole kiire mihinkään, en ole ikinä luovuttanut. :)
Ei minullekaan ole ongelmaa lukea pitkää koodia, mutta tuollaisen purkan lukeminen ei ole kauhean mukavaa. Sujuvaa tuo sinun tuottama koodi ei kuitenkaan ole.
The Alchemist kirjoitti:
Jami kirjoitti:
OVH ei tue PHP5:tä, kokeile vaikka itse.
Ei minun tarvitse. Sen kuin linkkaan sinulle OVH:n infosivun, jossa selvästi sanotaan, että kaikilta palvelimilta löytyy jopa aivan uusi php 5.4.
http://www.ovh-hosting.fi/jaettu_hosting/
Sellaista web-hotellia ei tässä maailmassa enää olekaan, josta löytyisi vain nelosversio php:stä. Veikkaan, että lähempänä ollaan sitä tilannetta, ettei enää löydy lainkaan palveluita, joissa edes olisi php4 tarjolla...
OVH:lla saa laitettua .htaccess:iin PHP5 tuen, mutta se ei tue kaikkea. OVH rajoittaa monia juttuja, en halua väitellä asiasta, koska olen ollut heidän asiakkaansa jo aika kauan ja tehnyt monia nettisivuja.
Varmasti he siellä estävät tekemästä monia typeryyksiä, mutteivät kyllä estä mitään sellaista, mikä estäisi koodaamisen. En voi kuin pitäytyä siinä käsityksessä, että olet sooloillut jotain ihan uskomatonta ja sitten tehnyt tällaisen väärän johtopäätöksen.
Voit toki antaa edes yhden esimerkin, niin saamme kaikki mielenrauhan.
On aika mielenkiintoinen idea antaa käyttäjän valita vanhentunut versio kielestä, jona virallinen tuki on loppunut jo aikoja sitten. Mielummin vaan päivittää kylmästi uusimpaan stabiiliin versioon. Tällöin jokaisen käyttäjän olisi päivitettävä sivunsa kuntoon.
The Alchemist kirjoitti:
Varmasti he siellä estävät tekemästä monia typeryyksiä, mutteivät kyllä estä mitään sellaista, mikä estäisi koodaamisen. En voi kuin pitäytyä siinä käsityksessä, että olet sooloillut jotain ihan uskomatonta ja sitten tehnyt tällaisen väärän johtopäätöksen.
Voit toki antaa edes yhden esimerkin, niin saamme kaikki mielenrauhan.
En ikinä sooloile. Osaan PHP:n kuin oman äidinkieleni ja omat taskuni.
OVH ei tue PHP automattiskriptejä, esim. lomakkeella asentamista, jne.
PHP 5:ssa ja PHP5:tä käytettäessä PHP virheilmoitukset eivät toimi ja jotkin kyselyt eivät toimi PHP5:ssa, mutta muilla hosteilla toimii.
OVH on tarkoitettu normaaleille käyttäjille, tämä on syy toimimattomuuteen.
Teuro kirjoitti:
On aika mielenkiintoinen idea antaa käyttäjän valita vanhentunut versio kielestä, jona virallinen tuki on loppunut jo aikoja sitten. Mielummin vaan päivittää kylmästi uusimpaan stabiiliin versioon. Tällöin jokaisen käyttäjän olisi päivitettävä sivunsa kuntoon.
Sanoisin että jotain kertoo sekin, että palvelimilla on ilmeisesti oletuksena käytössä php 5.2 - joka on auttamatta out-of-date sekin - ainakin niin sanovat nuo esittelysivulle linkatut phpinfo-skriptit.
Lisäys:
Jami kirjoitti:
The Alchemist kirjoitti:
Varmasti he siellä estävät tekemästä monia typeryyksiä, mutteivät kyllä estä mitään sellaista, mikä estäisi koodaamisen. En voi kuin pitäytyä siinä käsityksessä, että olet sooloillut jotain ihan uskomatonta ja sitten tehnyt tällaisen väärän johtopäätöksen.
Voit toki antaa edes yhden esimerkin, niin saamme kaikki mielenrauhan.
En ikinä sooloile. Osaan PHP:n kuin oman äidinkieleni ja omat taskuni.
OVH ei tue PHP automattiskriptejä, esim. lomakkeella asentamista, jne.
PHP 5:ssa ja PHP5:tä käytettäessä PHP virheilmoitukset eivät toimi ja jotkin kyselyt eivät toimi heidän PHP5:ssa, mutta muilla hosteilla toimii.
Virheilmoitukset ovat täysin kiinni siitä, kuinka itse konffaat palvelintilasi. Php:n versio ei vaikuta sql-kyselyiden toimintaan mitenkään. "Automaattiskriptien" toimintaa ei kuvauksesi perusteella ole edes mahdollista estää. Haluatko yrittää uudemman kerran vai myönnätkö luovuttaneesi ihan liian helpolla?
Tällä päässee alkuun niiden virheilmojen kanssa:
*** .htaccess SetEnv PHP_VER 5_4 php_value error_reporting 32767 php_value display_errors 1
Jami kirjoitti:
En ikinä sooloile. Osaan PHP:n kuin oman äidinkieleni ja omat taskuni.
Lähettämäsi koodinpätkä todistaa sinua vastaan.
Jami kirjoitti:
OVH ei tue PHP automattiskriptejä, esim. lomakkeella asentamista, jne.
PHP 5:ssa ja PHP5:tä käytettäessä PHP virheilmoitukset eivät toimi ja jotkin kyselyt eivät toimi PHP5:ssa, mutta muilla hosteilla toimii.
Voitko antaa esimerkin kyselystä, joka ei toimi OVH:a ja muilla hosteilla toimii?
Jami kirjoitti:
OVH on tarkoitettu normaaleille käyttäjille, tämä on syy toimimattomuuteen.
Haluatko hiukan perustella tätä kieltämättä uskomatonta väitettä.
Kaksi idioottia väittelee siitä että kummalla on huonompi ratkaisu.
En jaksa väitellä väittelevän porukan kanssa. Se on turhaa, koska Teuro näköjään haluaa aina saada viimeisen sanan ja juttu jatkuu ja minä en noudata standardia, jos käyttämästäni koodista ei ole nopeuden kanssa radikaalista merkistystä ja jonka käyttäminen ei ole tietoturvariski.
Teuro kirjoitti:
Jami kirjoitti:
En ikinä sooloile. Osaan PHP:n kuin oman äidinkieleni ja omat taskuni.
Lähettämäsi koodinpätkä todistaa sinua vastaan.
Jami kirjoitti:
OVH ei tue PHP automattiskriptejä, esim. lomakkeella asentamista, jne.
PHP 5:ssa ja PHP5:tä käytettäessä PHP virheilmoitukset eivät toimi ja jotkin kyselyt eivät toimi PHP5:ssa, mutta muilla hosteilla toimii.Voitko antaa esimerkin kyselystä, joka ei toimi OVH:a ja muilla hosteilla toimii?
Jami kirjoitti:
OVH on tarkoitettu normaaleille käyttäjille, tämä on syy toimimattomuuteen.
Haluatko hiukan perustella tätä kieltämättä uskomatonta väitettä.
Minulle ei ole mitään merkitystä, jos koodi näyttää rumalta, koska jos se toimii ilman tietoturvariskejä, se on moitteeton. Koodini toimii ilman tietoturvariskejä, eli se on moitteeton. En yleensä jaa koodejani ja tuonkin koodin nopeasti väsäsin omasta koodistani, joten jos olisin tehnyt sen alusta asti, olisin tietenkin veloittanut siitä ja koodikin olisi ollut ulkonäöltäänkin moitteeton.
Esim. ZTravian:n asentaminen onnistui X10:llä, mutta OVH:lla toimii, lähetin tiketin ja vastasivat, että "Se ei ole mahdollista PHP 5:llä, käytä PHP 4:ää.", mitäs nyt? "fintravian.co.cc PHP/MySQL virheilmoitus 2012-07-09"
Vaihdoin FINTravian:n tietokannan salasanan, tämän takia sivusto ei enää toimi.
Lisäksi, niille jotka arvelivat, että FINTravian oli laiton kopio, niin sain luvat TravianGames:ltä, koska en tienannut sen ylläpidosta. :D
*** .htaccess SetEnv PHP_VER 5_4 php_value error_reporting 32767 php_value display_errors 1
Siis, tiedän tuon, se näkyy joka puolella nettiä ja olen vaihtanut tuon PHP versionkin, eli .htaccess:ni näyttää melkein samalta kuin sinun. Valittaa "500 Internal Server" erroria, tämän takia kirjoitin PHP errorien näyttämisen PHP koodiin. :)
qeijo kirjoitti:
Kaksi idioottia väittelee siitä että kummalla on huonompi ratkaisu.
Itse ainakin kuullostat perus Ohjelmointiputkan jäseneltä, joka on oppinut oppaista. :D
Jami kirjoitti:
Siis, tiedän tuon, se näkyy joka puolella nettiä ja olen vaihtanut tuon PHP versionkin, eli .htaccess:ni näyttää melkein samalta kuin sinun. Valittaa "500 Internal Server" erroria, tämän takia kirjoitin PHP errorien näyttämisen PHP koodiin. :)
Eli yksinkertaisesti typotit jotain, minkä takia palvelin ei osannut parsia .htaccess-tiedostoa ja siksi heitti virheen koodilla 500.
Virheraportoinnin aktivointi php-koodissa on ihan ok sekin, mutta sillä rajoitteella, että jos koodissa on syntaksivirhe tai tapahtuu jokin muu virhe ennen kuin virheraportoinnin enabloida koodi on suoritettu, nämä aiemmat virheet eivät tule näkyviin sivulle. (Palvelimen virhelokista kuitenkin löytynevät.)
Mitä tulee tähän maagiseen "ZTravianiin", jota edes Google ei tunne, niin tottakai on mahdollista kirjoittaa koodia, joka toimii php4:llä muttei enää vitosessa. Se ei ole php5:n eikä edes OVH-hostauksen vika vaan täysin alkuperäisen kirjoittajan syytä.
Enkä ymmärrä, mitä tekemistä tuolla, että vaihdoit myskylän passun ja sitten unohdit sen, on minkään tässä ketjussa esille tuodun asian kanssa.
P.S. Mitä tulee tuohon, että olet 15-vuotias ja mielestäsi koodaat ikäisesi tasolla, niin olet kyllä ihan oikeassa. Kun minä olin samassa iässä, koodasin juuri tuollaista paskaa ja niin varmaan koodasivat monet muutkin. Ja useat valitettavasti koodaavat vielä 10 tai 20 vuotta vanhempinakin, mutta se johtuu siitä, etteivät he koskaan heränneet todellisuuteen ja tajunneet koodaavansa huonosti. Minullakin se otti oman aikansa, mutta toivottavasti sinä ymmärtäisit sen jo nyt, etkä tahallasi jarruttaisi omaa kehitystäsi. Nyt olet vielä vuosien päässä valmiista.
Jami kirjoitti:
qeijo kirjoitti:
Kaksi idioottia väittelee siitä että kummalla on huonompi ratkaisu.
Itse ainakin kuullostat perus Ohjelmointiputkan jäseneltä, joka on oppinut oppaista. :D
Myönnän olevani yksi niistä jotka ovat oppineet internetin oppaista.
Jami kirjoitti:
Minulle ei ole mitään merkitystä, jos koodi näyttää rumalta, koska jos se toimii ilman tietoturvariskejä, se on moitteeton. Koodini toimii ilman tietoturvariskejä, eli se on moitteeton.
On todella typerää väittää, että tässä kiisteltäisiin jostain standardeista ja tyylikysymyksistä, kun nopealla testillä (tai ihan vain koodia lukemalla siinä vaiheessa, kun oikeasti osaa PHP:tä kunnolla) löytyy heti kymmenkunta virhettä, joiden takia koodi joko ei toimi oikein tai ei toimi ollenkaan. Tässä on niistä joitakin:
Koska kuitenkin osaat PHP:tä täydellisesti, mikään näistä vioista ei varmaan ole yllätys, vaan kirjoitit ne tahallasi ja osaat myös korjata kaikki tuossa tuokiossa.
Osan virheistä olet kopioinut muista koodeista, tai oikeammin osa muista koodeista on sellaisia, ettei niitä voi suoraan lisätä sinun koodisi sekaan. Kannattaa käyttää niitä täydellisesti PHP:tä osaavia aivoja silloinkin, kun kopioi toisten antamaa koodia omansa sekaan.
Noin 15-vuotiaana varmaan tuntuu, että olet ihan mieletön guru ja kaikki koodisi on aivan mahtavaa – se on yleinen harhaluulo. Ikävä tosiasia silti on, että "hyvin 15-vuotiaaksi" tarkoittaa, että oikeasti et osaa vielä ohjelmoida kovin hyvin.
Älä viitsi lähettää muille neuvoja, joita et ole testannut ja todennut toimiviksi. Varmasti korjailet muitakin omia koodejasi vähän väliä, joten on ihan turha kuvitella, että suoraan foorumille kirjoittamalla koodista tulisi kerralla täydellistä ja toimivaa.
En kokeillut koodia, johan sanoin. Kopioin omaan koodiini nopeasti PDO:n vinkin ja en tiedä miten ne kaikki toimivat, koska en ole käyttänyt PHP5:tä oikeastaan ikinä ja koodaan miten itse tykkään, en kuitenkaan ole mikään mestari vielä. Kaikkea ei muutenkaan pidä osata. Kokemus karttuu tehdessä ja harjoitus tekee mestarin. :)
Metabolix kirjoitti:
Koska kuitenkin osaat PHP:tä täydellisesti, mikään näistä vioista ei varmaan ole yllätys, vaan kirjoitit ne tahallasi ja osaat myös korjata kaikki tuossa tuokiossa.
Oma koodini, jonka kopioin eilen netistä, toimii moitteettomasti. Väsäsin tuon nopeasti. Lisäksi, en ole kokeillut tuota $num_rows:ia, lisäsin senkin nopeasti omasta päästä.
Metabolix kirjoitti:
Osan virheistä olet kopioinut muista koodeista,
Juuri näin.
Metabolix kirjoitti:
Noin 15-vuotiaana varmaan tuntuu, että olet ihan mieletön guru ja kaikki koodisi on aivan mahtavaa – se on yleinen harhaluulo. Ikävä tosiasia silti on, että "hyvin 15-vuotiaaksi" tarkoittaa, että oikeasti et osaa vielä ohjelmoida kovin hyvin.
Ei tunnu. Olen vaatimaton. Ei ole kovin järkevää yleistää ihmisten taitoja. Aloitin 6-vuotiaana ohjelmoinnin, eli olen oppinut paljon, mutta vielä on paljon jäljellä, en saisi pysähtyä johonkin versioon, vaan pysymään mukana, mutta kuten olen jo sanonut, IT-ala kehittyy ehkä liiankin nopeasti. Teen tällä hetkellä kalorilaskuri.fi:n tapaisia sivuja. Lisäksi, kukaan ei tietenkään ole täydellinen. :)
Mod. korjasi lainaukset!
Jami kirjoitti:
En kokeillut koodia, johan sanoin. Kopioin omaan koodiini nopeasti PDO:n vinkin ja en tiedä miten ne kaikki toimivat, koska en ole käyttänyt PHP5:tä oikeastaan ikinä ja koodaan miten itse tykkään, en kuitenkaan ole mikään mestari vielä. Kaikkea ei muutenkaan pidä osata.
Hieman enemmän meriittejä odottaisi ihmiseltä, joka julistaa php:n olevan hänelle kuin toinen äidinkieli ja täydellisen tuttu juttu.
OK voi lukita kaikki kunnossa
Miksi näitä pitäisi lukita? Ketju kyllä häviää näkyvistä, jos ihmisillä ei ole mitään sanottavaa. Jos lukottaminen olisi sinun päätettävissäsi, niin sinulla varmasti olisi oikeudet tehdä se itsekin...
Ja vielä toisen aloittama ketju...
The Alchemist kirjoitti:
Jami kirjoitti:
En kokeillut koodia, johan sanoin. Kopioin omaan koodiini nopeasti PDO:n vinkin ja en tiedä miten ne kaikki toimivat, koska en ole käyttänyt PHP5:tä oikeastaan ikinä ja koodaan miten itse tykkään, en kuitenkaan ole mikään mestari vielä. Kaikkea ei muutenkaan pidä osata.
Hieman enemmän meriittejä odottaisi ihmiseltä, joka julistaa php:n olevan hänelle kuin toinen äidinkieli ja täydellisen tuttu juttu.
Onhan se tuttu juttu, mutta kukaan ei ole täydellinen. Olet tyhmä, jos luulet niin. En ole väittänyt, että osaan PHP:tä täydellisesti, vaan riittävän hyvin, että voin ohjelmoida mitä vain, minun tarvitsee vain etsiä ohje tai pyytää apua, jos en osaa jotain. Ohjelmoin omalla tavallani, ei ole mitään tiettyä yhtä tapaa, paitsi joillekin aloittelijoille suositellaan jotain tiettyä tapaa ja standardeja, joita ei tarvitse edes käyttää jos ohjelmoitu on toimivaa, vakaata ja tietoturvallista.
Jami kirjoitti:
Onhan se tuttu juttu, mutta kukaan ei ole täydellinen. Olet tyhmä, jos luulet niin. En ole väittänyt, että osaan PHP:tä täydellisesti, vaan riittävän hyvin, että voin ohjelmoida mitä vain, minun tarvitsee vain etsiä ohje tai pyytää apua, jos en osaa jotain. Ohjelmoin omalla tavallani, ei ole mitään tiettyä yhtä tapaa, paitsi joillekin aloittelijoille suositellaan jotain tiettyä tapaa ja standardeja, joita ei tarvitse edes käyttää jos ohjelmoitu on toimivaa, vakaata ja tietoturvallista.
Sitten et taida tuntea taskujasi.
Jami kirjoitti:
En ikinä sooloile. Osaan PHP:n kuin oman äidinkieleni ja omat taskuni.
Jami kirjoitti:
En ole väittänyt, että osaan PHP:tä täydellisesti, vaan riittävän hyvin, että voin ohjelmoida mitä vain, minun tarvitsee vain etsiä ohje tai pyytää apua, jos en osaa jotain. Ohjelmoin omalla tavallani, ei ole mitään tiettyä yhtä tapaa, paitsi joillekin aloittelijoille suositellaan jotain tiettyä tapaa ja standardeja, joita ei tarvitse edes käyttää jos ohjelmoitu on toimivaa, vakaata ja tietoturvallista.
Melkein kuka vain voi ohjelmoida mitä vain, jos pyytää apua(pyytää toisia tekemään, kun ei itse viitsi opetella), mutta ei se tarkoita sitä, että ko. henkilö osaisi ohjelmoida.
Aihe on jo aika vanha, joten et voi enää vastata siihen.