Terve!
Olen saanut korjattavakseni toisen henkilön tekemän nettisivuston vuosien takaa mutta vastaan on tullut esteitä. Osaamiseni PHP:stä ja MySQL:stä on vielä melko perusjuttuja ja koodin kommentoimattomuus ei ole helpottanut asiaa joten ajattelin kysyä olisiko täällä viisaampia päitä auttamassa tai edes kertomassa vinkkejä mistä saattaisi kiikastaa. Olisin todella kiitollinen kaikista neuvoista ja ehdotuksista kun itselläni on vielä hakusessa.
Sivusto on pyörinyt kuulemma jollain aiemmalla WAMP-palvelimen Windows NT-aikaisella versiolla. Wampin alla olevat tiedostot otettiin talteen ja siirrettiin uudelle versiolle vaan sivusto antoi vaikka minkälaisia virheilmoituksia joskin suurimmasta osasta tosin päästiin eroon muuttamalla
Kirjautumisongelma (PHP, MySQL ja rutiinit)
3
121
Vastaukset
- mkoodari
Rutiinissa oleva koodi:
DROP PROCEDURE logIn;
delimiter // ;
CREATE PROCEDURE logIn(IN unames CHAR, passwds CHAR)
BEGIN
DECLARE userid,licensecount,license, company INT DEFAULT 0;
SELECT id FROM sysuser WHERE uname=unames AND passwd=passwds INTO userid;
SET @company=0;
set @log=0;
/*Onko käyttäjätunnus ja salasana oikein*/
IF (userid > 0) THEN
/*Onko käyttäjällä yhtään lisenssiä*/
SELECT COUNT(id) FROM user_application_license WHERE user_id= userid INTO licensecount;
IF (licensecount >0) THEN
SELECT count(user_application_license.id) FROM user_application_license,application_license,application WHERE user_application_license.application_license_id=application_license.id AND application_license.application_id=application.id AND user_application_license.user_id=userid AND application.nro=1 AND user_application_license.starts >=CURDATE() AND user_application_license.expires - enkoodari
Aluksi sanottakoon että en jaksa lukea koodia läpi, itse kirjottaisin varmaan uudelleen koko palikan jos vähänkään epäilisin toimivuutta ja laatua.
Tässä nyt kuitenkin pika-apu vastaus eli mistä löytää speksit...
http://dev.mysql.com/doc/refman/5.5/en/call.html
> Millä tapaa voin saada varmistuksen että kyseinen komento edes suoritetaan?
Testaat phpMyAdminin kautta tai komentroiviltä mysql clientillä.
Korvaat $uname ja $passwd muuttujat oikeilla tiedoilla.
Suorituksen jälkeen ja/tai aikana voit tarkistella muuttujien arvoja jolloin mahdolliset onglemat tulee ilmi.
> @-merkillä pyritään vaimentamaan mahdolliset virheilmoitukset.
Ei pidä paikkaansa. Vain PHP koodin suorituksen aikana vaientaa virheet. Tuossa ajetaan SQL koodia PHP koodin sijaan.
http://dev.mysql.com/doc/refman/5.5/en/set-statement.html
> Olen koittanut tulostaa tuota $query-muuttujan sisältöä
$query muuttuja PHP koodissa on vain SQL lauseen väliaikaista taltioimista varten, suorittamalla $query muuttujan sisältämä SQL koodi tulee suorittaa MySQL palvelimella ja sen jälkeen kysellään tulokset MySQL palvelimelta.
Eli $result muuttuja on linkki vastaukseen joka sinua kiinnostaa, voit lukea resurssit mysql_* komentojen avulla.- mkoodari
Pahoittelut että vastaamisestani kesti näinkin kauan. Tuo kiinteiden arvojen laittaminen tunnuksen ja salasanan tilalle auttoivat aluksi kirjautumisessa ja myöhemmin siinä että sain koko kirjautumisjutun korjattua. Muuhun palveluun jäi vielä paljon korjattavaa mutta ei niistä sen enempää täällä. Iso kiitos kuitenkin vinkeistä! :)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225124- 254278
- 272441
- 342234
- 371988
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164