tein php softan "muistio". Se käyttää sql tietokantaa ja mielestäni toimii hyvin. kertokaa mielipiteenne.
Etkös millään vois tehdä demoa? Ei nimittäin hirveesti huvittais ruveta tekeen ittelle tietokantaan tauluja yms.
tuolla paketissa on sql tiedosto, joka pitää vain ladata tietokantaan, vai onko siinä joku vikana?
Edit: Haluaisin huomauttaa että muistio on tarkoitettu yksityiseen käyttöön, koska sen käyttötarkoitus on tallettaa tekstiä joka voi olla myös henkilökohtaista. kuitenkin siinä on fb jako mahdollisuus.
Heippa taas!
Paratiisin poika kirjoitti:
tein php softan ... mielestäni toimii hyvin ...
mielipiteeni on, että jutska on aika syvältä...
kerro hieman tarkemmin?
MOI Paratiisin poika!
Imppasin .zip pakettisi...tutkin...testasin ja muodostin sitten mielipiteeni. Viritelmäsi sisälsi kuitenkin niin paljon turhaa sälää, etten edes viitsi alkaa erittelemään.
Hyvänä puolena tuossa on että yhdessä filessä ei ole liian pajon tavaraa.
Esim file n.php
<?php $n = "\n"; ?>
:)
No kerrotaan nyt jotain feedbackia, kun yritys on kerta kova.
- Pukkaa syntax erroria pdo.php:n rivillä 4.
- Heittää noticea heti etusivulla (undefined index 'sisalla').
- HTML:n taso on ihan hirveän huono.
- Includet on sijoiteltu sekavasti (ripoteltu eri tiedostoihin ja jopa if-else-haaroihin)
- Ei ääkkös-entiteettejä ("ä") koodiin vaan korjaa merkistöongelmat.
- Muistion muokkaaminen ei toimi heti sen luomisen jälkeen -> sisältö vain häviää bittiavaruuteen.
On tuossa jotain aidosti hyvääkin:
+ PDO:n käyttö
+ Noticeja ei tullut vastaan kuin etusivulla tuo yksi.
+ Koodia on siistitty jakamalla sitä eri tiedostoihin.
...en tosin ole ihan varma, että onko jaottelu erityisen hyvä, enkä jaksa nyt ajatella niin syvällisesti.
Mitä tapahtuu logiikalle, jos välistä poistetaan yksi tai usemapia muistioita? Fiksumpi logiikka olisi hakea aina viimeisin lisätty tietue, joka annetaan parametriksi. Tosin tuollainen linkki tuloksiin (result.php) on ihan hyvä.
Lisäksi olisi hyvä aina varmistaa, että muuttujat ovat olemassa. Muutoin tulee turhia notice-ilmoituksia.
Kyselyissä haet suotta kaikki rivit, jos tarvitset vain yhtä tai kahta. Koodin lukijalle ja edelleen kehittäjälle olisi parempi, jos luettelet sarakkeet joita tarvitaan.
Värien kanssa kannattaa olla tarkkana, ettei käyttäjän omat väriasetukset aiheuta ongelmia.
makumaku kirjoitti:
Hyvänä puolena tuossa on että yhdessä filessä ei ole liian pajon tavaraa.
Esim file n.php<?php $n = "\n"; ?>:)
Minulla on php muokkain tuolla sivustolla ja se poistaa \ merkit joten tein kerran n.php tiedoston jollaki ulkoisella ohjelmalla ja sain sillä php:ssä toimimaan rivivaihdot.
The Alchemist kirjoitti:
- Pukkaa syntax erroria pdo.php:n rivillä 4.
- Heittää noticea heti etusivulla (undefined index 'sisalla').
- HTML:n taso on ihan hirveän huono.
- Includet on sijoiteltu sekavasti (ripoteltu eri tiedostoihin ja jopa if-else-haaroihin)
- Ei ääkkös-entiteettejä ("ä") koodiin vaan korjaa merkistöongelmat.
- Muistion muokkaaminen ei toimi heti sen luomisen jälkeen -> sisältö vain häviää bittiavaruuteen.
- Ei se mulla heitä mitää virheitä
- ennen vai jälkeen sisäänkirjautumisen?
- sivuseikka, demoversio
- en osaa tehä paremmin :D
- teen tavasta koodeilla ä, ö ja å yms merkit
- Pitää tarkistaa
Tuo oli ensin muuten tehty sillai et se luo aina uuden tiedoston mutta nyt ihan vasta muutin sen tietokanta pohjaiseksi sovellukseksi ettei vie tilaa. Tiedostopohjainen on mulla käytössä ainakin toistaiseksi. Se toimii aiakin kunnollla.
Levylle ei voi tallentaa tietoa ilman, että se veisi tilaa. (Pilkunviilaajat älköön vaivautuko). Kun kyse on muutamista ihmisen kirjoittamista kilotavuista, niin sillä ei ole yhtään mitään väliä muutenkaan.
lisays.php tiedostoon muutos:
<?php include("login.php"); $filename = $_POST["filename"]; $content = $_POST["text"]; $kysely = $yhteys->prepare("INSERT INTO muistio (name, content) VALUES (?, ?)"); $kysely->execute(array($filename, $content)); $id = $yhteys->lastInsertId(); header("Location: result.php?id={$id}"); ?>
Muokkaus tiedostoon login.php
<?php if(!$_SESSION["sisalla"]) $_SESSION["sisalla"] = "ei"; include("settings.php"); session_start(); if(isset($_POST["salasana"])) { if($_POST["salasana"] == $pass) { $_SESSION["sisalla"] = "kylla"; }else { echo "<span style='color:red;'>Väärä salasana!</span><br>"; } } $sisalla = false; if($_SESSION["sisalla"] == "kylla") $sisalla = true; if(!$sisalla) { ?> <form action="./" method="post"> Salasana: <input type="password" name="salasana"><br> <button type="submit">Kirjaudu</button> </form> <?php exit; }else { include("pdo.php"); echo "<span style='float:right;'><b><a href='logout.php'>Kirjaudu ulos</a></b></span>"; } ?>
Tämä poistaa mahdollisen virheilmoituksen määrittelemättömästä sessionista.
The Alchemist: Kyllä se toimii se muokkaus heti lisäämisen jälkeen.
Missä Ruotsinkieliset muuttujan nimet? Kun jo Suomi ja Englanti löytyy.
Päivitin zip paketin. Muutokset edelliseen pakettiin:
Ohjelmisto on testattu ja se toimii. Hakuosiossa on tietoturva-aukko: hakukysely suoritetaan suoraan kyselyssä joten sillä voi tuhota tietokannan. En saanut sitä toimimaan suojatusti.
Sovelluksen tiedostot: http://vjgo.viuhka.fi/Muistio.zip (Viimeksi päivitetty 17.4.2012 14:00)
Paratiisin poika kirjoitti:
Hakuosiossa on tietoturva-aukko: hakukysely suoritetaan suoraan kyselyssä joten sillä voi tuhota tietokannan. En saanut sitä toimimaan suojatusti.
Ongelmia taisivat aiheuttaa LIKE ja %-merkit. Tee näin:
$query = $connect->prepare("SELECT * FROM muistio WHERE name LIKE ?"); $query->execute(array("%$keyword%"));
Haku toimii edelleen odottamattomalla tavalla, mikäli hakulausekkeessa on % tai _. Vaikka siitä ei koidu suurta ongelmaa, se kannattaa harjoituksen takia selvittää.
Paratiisin poika kirjoitti:
Minulla on php muokkain tuolla sivustolla ja se poistaa \ merkit joten tein kerran n.php tiedoston jollaki ulkoisella ohjelmalla ja sain sillä php:ssä toimimaan rivivaihdot.
Hommaa itsellesi jostain parempi editori, äläkä tee tuollaisia virityksiä. Vähän isommissa projekteissa niistä ei ota kukaan selvää.
En käynyt koko pakettia läpi, mutta siinä on selvästi parannettavaa. Esimerkiksi files.php hakee ensin kaikki muistiot ja sen jälkeen muistioiden määrän.
Nyt on taas paranneltu softaa.
http://vjgo.viuhka.fi/Muistio.zip (Päivitettty 21-4-2012 13:47)
Aihe on jo aika vanha, joten et voi enää vastata siihen.