Find Jobs
Hire Freelancers

Wiki project: Rapid Prototype

$5-10 USD

Dibatalkan
Dibuat sekitar 17 tahun yang lalu

$5-10 USD

Dibayar ketika dikirim
**One hour of work; perfect for RAC newbies!** This project simply reads and writes values from three tiny database tables, so that we can very quickly prototype a special wiki project. Everything is specified here; you'll be done in an hour. Can't get much easier than that! :-) *All* human input *must* be clensed and escaped, using common, standard functions, so as to prevent malicious SQL and HTML/JavaScript code injection as well as preserve natural apostrophies (etc.) in normal text. Use standard PHP functions to do this at all times. Use a **[login to view URL]** file which contains the directory name (without a trailing slash) where commonly used files can be found. This then points to **[login to view URL]**, which contains the server's **hostname**, e.g., [login to view URL] (for cookies), **baseURL**, e.g., [login to view URL], **dbHostname**, **dbName**, **dbUsername**, and **dbPassword**. This will also be the location of **[login to view URL]** which will contain common functions such as **isLoggedIn()** (which should probably return MemberID or 0 if not logged in). ## Deliverables The database schema is as follows: CREATE TABLE `Members` ( `MemberID` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `Nickname` VARCHAR( 31 ) NOT NULL , `Password` VARCHAR( 31 ) NOT NULL , `Status` CHAR( 1 ) NOT NULL DEFAULT 'U', # U = Unconfirmed, S = Subscribed, X = Unsubscribed `Name` VARCHAR( 63 ) NOT NULL , `Email` VARCHAR( 255 ) NOT NULL , `Joined` TIMESTAMP NULL , UNIQUE ( `Nickname` ) ) TYPE = MYISAM ; CREATE TABLE `Tags` ( `TagID` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `Tag` VARCHAR( 63 ) NOT NULL , `Created` TIMESTAMP NULL , UNIQUE ( `Tag` ) ) TYPE = MYISAM ; CREATE TABLE `Posts` ( `PostID` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `Post` VARCHAR( 255 ) NOT NULL , `TagID` INT( 4 ) UNSIGNED NOT NULL , `MemberID` INT( 4 ) UNSIGNED NOT NULL , `Created` TIMESTAMP NULL ) TYPE = MYISAM ; If **[login to view URL]** does not receive a Nickname, then it should display a form requesting Nickname, Password, Name and Email, which then posts back to itself. Otherwise, it should attempt to insert a new row into Members with the Nickname, Password, Name and Email. Display any error (typically duplicate Nickname) or offer a link to login.php. If **[login to view URL]** does not receive a Nickname, then it should display a form requesting Nickname and Password, which then posts back to itself. Otherwise, it should check that the Password is correct, and set two cookies for the Nickname and Password. **[login to view URL]** should delete those cookies. If **[login to view URL]** does not receive a Post with at least one character, then it should display a form requesting one, which then posts back to itself. Otherwise, it should ensure that the member isLoggedIn() (displaying an error if they are not) and then follows this logic: Isolate the Tag, which is a string of the first one or more characters from the Post containing *only* letters (upper or lower case), numbers, and hyphens. Fold uppercase into lowercase before the next step! Attempt to insert this Tag into the Tags table, but an error is ok (as it may already be there). Whether or not this succeeded, determine the TagID. Insert a new row into Posts, with the Post, TagID, and MemberID (from isLoggedIn()). If **[login to view URL]** does not receive a Tag, then it should output all of them (ordered by Tag), linking to each one. (e.g., "[a href=./?tag=computers]computers[/a]") Otherwise, it should output a list of all Posts, Nicknames, and Created date/times, ordered by Created, for that given Tag. * * *I'm pretty flexible and easy to work with. I tried to make sure that this job is as completely specified as humanly possible. If you have **any** questions, *please* ask them! I have found that it is far better to risk a bit of embarrassment than to spend time working on an assumption which later proves to be wrong. Do not worry that a question may seem silly; just *let me know* and I will be very happy to answer you! We've been a Buyer here since July '05, with a rating of 9.91 ("Excellent") out of 10, with over 70 ratings, and we've now paid on over 90 jobs. We've completed both security verifications, we have a non-action ratio under 5% ("very good"), and we've lost 0 out of 8 mediations / arbitrations. | ![][1] | PGP is **not** required for this project. | | ![][2] | An NDA is **not** required for this project. | We will retain full legal rights to the code and/or data upon completion. All code and/or data is and becomes *our* intellectual property! You will *not* have any rights to the code and/or data in any fashion. **Thank you for your consideration and for bidding through RentACoder!** * * *Copyright © 2007, RentACoder Buyer [notecom][3]. **All Rights Reserved.** Reproduction without permission is strictly prohibited. * * * 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform Linux, MySQL, PHP
ID Proyek: 2915771

Tentang proyek

Proyek remot
Aktif 17 tahun yang lalu

Ingin menghasilkan uang?

Keuntungan menawar di Freelancer

Tentukan anggaran dan garis waktu Anda
Dapatkan bayaran atas pekerjaan Anda
Uraikan proposal Anda
Gratis mendaftar dan menawar pekerjaan

Tentang klien

Bendera UNITED STATES
Wyoming, United States
5,0
137
Memverifikasi Metode pembayaran
Anggota sejak Jul 8, 2005

Verifikasi Klien

Terima kasih! Kami telah mengirim Anda email untuk mengklaim kredit gratis Anda.
Anda sesuatu yang salah saat mengirimkan Anda email. Silakan coba lagi.
Pengguna Terdaftar Total Pekerjaan Terpasang
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Memuat pratinjau
Izin diberikan untuk Geolokasi.
Sesi login Anda telah kedaluwarsa dan Anda sudah keluar. Silakan login kembali.