Beste wensen allemaal,
Iedereen zijn vingers nog?
Posts by Patrick
-
-
Hallo,
Mogelijk dat we wat kunnen bespreken.
Ben zoals je weet een developer, echter door drukte heb ik zelf niet veel tijd om te developen. Echter lijkt het me wel leuk om er wat van te maken.
Mogelijk dat ik kan bijdragen met mijn kennis en daar waar nodig wat code kan bijpakken.Voor een volledig profiel van mijn kennen en kunnen refereer ik je naar mijn handtekening welke een link bevat naar LinkedIn.
Mvg,
TimDit geld hetzelfde voor mij,
Wil wel eens met de tim man programmeren -
Zie je pm,
Wellicht een leuk aanbod gedaan. -
Als aller eerste, wat overzicht in je programming zou geen probleem zijn voor het het debuggen ervan aangezien dat nu best irritant is om te doen, daarnaast als je een rename wilt uitvoeren in je upload script, waarom doe je dat dan niet? Aangezien ik zelf die niet terug kan vinden.
Voor de rest is het script goed te doen hier en daar een wel wat omslachtige manier om er voor te zorgen dat hij iets controleert, maar er zijn altijd makkelijkere manieren zelfs voor iemand die al 10 jaar programmeert.
Kijk eens naar deze (Dit script is niet getest):
http://pastebin.com/JsZGHsL1Hiermee kan je is nagaan wat je miste, let voornamelijk op de error afhandeling en de renaming van je files naar song*.mp3 aangezien je die er niet in had zitten ga ik er vanuit dat je daar tegen aanliep om het werkend te krijgen, voel vrij om meer informatie er over te vragen als je iets niet snapt.
-
Eventueel wel interesse om te testen :-). Lijkt me wel is leuk om weer is te doen lang geleden.
Als je een pm'tje stuurt met informatie kan ik wel wat betekenen.
-
Je hebt altijd een query om bijvoorbeeld de data van een gebruiker op te halen (Aantal posts etc, die query doe je vrijwel bij elke pagina opnieuw of het nu een gebruiker is of gast je controleert dat altijd).
Dus zeg dat we voor 2 tabellen hebben "lastseen" en "users".Omdat data op te halen van die user doe je bijvoorbeeld:
PHPmysql_query('SELECT userid, username, user_posts FROM users WHERE id = "' . $_SESSION['uid'] . '" AND salt = "' . $_SESSION['usalt'] . '" LIMIT 1')
Deze query wordt uitgevoerd op je MySQL database, echter kan je in je MySQL database defineren wanneer er een select wordt uitgevoerd op die tabel (De users tabel) dat er dan een trigger geactiveerd wordt om ergens anders ook wat voor elkaar te krijgen. (Zeg in de lastsseen tabel).
Nu kan je het command "CREATE TRIGGER AFTER SELECT ON users" om een trigger te creeren waar in je een "UPDATE lastseen SET location="' . @location . '" WHERE uid = "' . @uid . '"' waar de @ variabels zijn die met je query mee stuurt. Daarnaast kan je er ook nog voor kiezen om er gewoon lekker een stored procedure van te maken om alles in 1x mee te nemen :-). (Stored procedure kan meerdere query's dan 1 bevatten en kan je van uit je php direct variabels mee sturen (Zeg je uid en locatie).
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html voor de triggers, let op user rechten binnen je MySQL database moeten op SUPER niveau zitten om dat mogelijk te maken.
http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html voor de stored procedures, het is even wat werk om uit te zoeken hoe het best werkt.Wanneer je een goede balans kan vinden met wat er in je database moet gebeuren en wat er moeten gebeuren in je PHP ben je al een heel eind. Want in princiepe is PHP om alles dynamisch te maken en je database (MySQL, MsSQL) om je data up to date te houden als je met php alleen kan zeggen hier heb je de parameters waar je het mee moet doen, los het maar op en zorg maar dat mijn data up to date is kan je veel load van je website af houden en meer in je database doen.
-
en om even dan nog redelijk geavanceerd doen kan je het ook nog doen met een trigger wanneer er dan bijv een select wordt gedaan voor een bepaalde tabel dat hij dan automatisch een update query draait voor een bepaald iets.
Zo kan je het in je database laten en kan je het nergens vergeten
-
Als je het script uitleest dan zie je dat inderdaad gebeurd, je defineerd is de ip's die toegang moeten hebben daarna waneer er geen match in de array (!in_array) kan worden gevonden laat hij doormiddels de if de screen.html zien en anders (}else{) laat hij iets anders zien.
-
$_SERVER['REMOTE_ADDR'] is veruit de beste die je kan gebruiken omdat het echte IP bevat van de cliënt. (Ga ook nooit van data die door de cliënt worden gestuurd.) Daarnaast de $_SERVER['HTTP_X_FORWARDERD_FOR'] is voor als de cliënt achter een proxy zit dan KAN deze parameter gevuld zijn, echter kan je makkelijk de data van deze $_SERVER parameter aanpassen (Aangezien deze doormiddel van een browser data wordt gevuld) en kan dus niet vertrouwd worden.
In jou geval indien je geen proxy gebruikt lijkt het me handig dat je heel dat idee er van laat vallen, en zoals zo velen hier hebben ze het idee uit een source van één van de crimes hier, ik zeg niet dat het compleet nutteloos is, maar het voegt niet veel toe aan je programmering.
Daarnaast gebruik je de functie search_array() kan handig zijn alleen in jou geval is dit niet nodig, in_array doet hier zijn werk goed. Kort gezet dan krijg je het volgende:
PHP<?php $allowdIp = array('0.0.0.0.0', '1.1.1.1.1'); if (!in_array($_SERVER['REMOTE_ADDR'], $allowdIp)) { require_once('screen.html'); } else { } ?>
Dan heb je het in aardig wat regels minder gedaan dan dat je oorsprongelijk had en je hebt het zelfde resultaat. Daarnaast de exit(); die je gebruikt zorgt ervoor dat er voor de rest niks meer kan gebeuren met je script, ikzelf raad dit ook af om te doen vanwege dat je met een simpele } else { er voor kan zorgen dat niks fout gaat en alles correct getoond wordt.
-
wordt er nog ergens weg geschreven dat je bent ingelogd in de database? Want als je die niet kan vinden dan zal er waarschijnlijk geen inlog plaats vinden.
Daarnaast kan het nog zijn dat er cookies gezet worden om er voor te zorgen dat je ingelogd blijft of een session die geactiveerd wordt ($_SESSION, met session_start()). in de loggedin.php zoals jij hem laat zien wordt er niet vel gedaan met zoiets voor elkaar te krijgen alleen een melding dat je bent ingelogd en dat je wordt doorgestuurd middels javascript.
Kijk daar is naar. Dan ben je al een stuk verder.
-
Fijne dagen en een gezond 2013!
-
float: left; meegeven aan de box waarin in je artikelen staan,
waarschijnlijk ligt het daaraan. -
Laat bij nou zo zijn dat in mijn debian kernel nano niet standaard beschikbaar is....
kl*te zooi... -
Daarnaast het gebruik van vi is het zelfde als in notepad werken, dan is gewoon voor mensen die een beetje te veel ego naar mijn denken hebben en zeggen dat ze niks van hulp programma's nodig hebben. Echt hardcore vind ik het niet aangezien de functies die in moderne programma's zitten onder andere het project management aardig goed kan doen.
Daarnaast werk ik met putty op command line voor 2 linux servers op mijn werk, echter voor orginele installatie moest ik wel met vi werken was echter geen succes helft van de tijd was ik mijn sneltoetsen of vergeten of de verkeerde en was ik weer een bestand kwijt :').
-
Waarschijnlijk heb je de afbeeldingen zo erin gezet dat deze verwijzen naar een lokale hardeschijf op je computer, hierdoor zullen ze in je DW wel gevonden worden maar niet als je hem opslaat en dan in IE opent, echter kan ik dit niet met 100% zekerheid zeggen,
kan je eventueel de source hier laten zien dan kan je het met 100% zeker weten of dat de fout is of dat het toch ergens anders aan ligt.
-
Denk dat het meer is dat er wel vragen zijn maar dan ook alleen vragen aangezien er voor de rest over bijna niks anders wordt gepraat verder.
-
vanawege dat je 2012 & 2013 krijgt vind hij niet echt fijn, daardoor zal hij hem niet echt goed weergeven,
ik raad om de functie unix_timestamp() in sql te gebruiken converteert alles lekker naar een unix timestamp en daarmee laten vergelijken :). Werkt perfect. -
Als je een historie wilt aanleggen van je advertenties zou ik ze niet laten verwijderen je weet nooit wanneer ze nog van pas komen, je kan ook een date veld aanmaken in je databases en met if laten controleren of de advertentie wel getoond mag worden (i.e. dat hij niet over het max. aantal dagen is dat hij getoond mag worden).
Dan kan je eventueel er nog voor kiezen om een verlengen optie in te bouwen en hoeven ze niet alles opnieuw in te geven maar alleen opnieuw te betalen is voor de mensen ook makkelijker en jij zorgt er voor dat de interface met je gebruiker ook nog eens makkelijker wordt.
Daarnaast zoals jij aangaf heb je dan ook geen omkijken meer na als je hem eenmaal hebt toegevoegd, en kun je er voor kiezen dat ze hem zelf toevoegen (Dan heb je een systeem waar je helemaal niks aan hoef te doen en dat wanneer het goed loopt alleen van de inkomsten kan genieten).
Lijkt mij een beter systeem dan met cronjobs te werken, mijn mening dan he :-).
-
Netbeans wordt gebruikt hier voor alle projecten die gedraaid worden, de onderscheiding van projecten en daarin nog sub projecten kunnen defineren is heel erg handig. Deze allemaal los van elkaar op een GIT mogelijk is dat ook heerlijk.
Daarnaast ondersteund netbeans plugins die voor de meeste heel handig van pas komen!
PHP Designer ook een tijd gedraaid maar uit eindelijk de ondersteuning vanuit de community niet echt lekker + hij blijft steken als je echt meerdere projecten makkelijk wil ordenen, het heeft inderdaad wel mogelijkheden tot dat maar werkt voor mij niet lekker. -
Unix draaien, je weet dat de basis van apple ook unix is?
Dus in princiepe draai je ook op een kernel van Linux echter wel een hevig aangepaste :-).
Ik draai nu Win8 vanaf een nieuwe laptop :-), echter stuit ik tegen het probleem dat de apps vanuit de appstore echt gigantisch traag downloaden.... Wat hier de oorzaak van is weet ik echter nog niet...
Dus even verder zoeken naar een oplossing, wordt die niet gevonden dan wordt het vrijsnel downgraden naar Win7 :).