0
skittles_of_SDC

Any back end web programmers out there?

Recommended Posts

I want to build a website but I only know the design aspect of it. I am completely clueless when it comes to server side technologies. I want people to be able to upload videos and pictures and possibly embed a website.

Is there anyone out there that could tell me which server technologies I should be looking at learning to do this?

Share this post


Link to post
Share on other sites
I'm a backend developer and I primarily use PHP/MySQL. You can host a LAMP (Linux, Apache, MySQL, PHP) website at godaddy.com for like $76.00 for two years.

PHP is easy to learn and has a built in image manipulation library (GD) for resizing, resampling, cropping etc.

Typically, you'll load images through an HTML form and grab the file from the $_FILES superglobal variable. You'll store the file on the hard drive and the path in the DB. Then you'll query the DB to extract the file path to "build" the HTML output with. There are plently of free image gallery scripts out there, but it's simple enough to create your own.

I'm not sure what you mean by "embed a website", but I can help you if you have specific questions.

Share this post


Link to post
Share on other sites
Quote

I want to build a website but I only know the design aspect of it. I am completely clueless when it comes to server side technologies. I want people to be able to upload videos and pictures and possibly embed a website.



Seems like what you need is web content management system.

Check this category of free CMS software.
* Don't pray for me if you wanna help - just send me a check. *

Share this post


Link to post
Share on other sites
Quote

The problem now is I have no idea how the stuff I'm learning can be turned into what I want.



There is a lot of tutorials and code examples on the internet. Since your project isn't about exotic architecture or fancy features, I'm sure you'll find something very similar to what you want. Then you can use that as a template, and adapt it to what you need.
"One day, your life will flash before your eyes. Make sure it's worth watching."

Dudeist Skydiver #101

Share this post


Link to post
Share on other sites
I think it uses Ajax. It allows to do asynchronous calls to the server and re-rendering of parts of the page, without having to submit the form or re-load the entire page.
"One day, your life will flash before your eyes. Make sure it's worth watching."

Dudeist Skydiver #101

Share this post


Link to post
Share on other sites
Quote

I think it uses Ajax. It allows to do asynchronous calls to the server and re-rendering of parts of the page, without having to submit the form or re-load the entire page.



Ajax (Asynchronous JAvascript & XML) really isn't specific to a server technology, as Javascript & XML are key parts to the majority of the frameworks that are out there. It's just a technique used to provide a better UI experience.

Regarding facebook, I believe they use some sort of LAMP-based proprietary framework. More info here .

Share this post


Link to post
Share on other sites
Quote

Sorry I haven't been back in a few days. I tried one of those once. Didn't go so well. I decided to learn php and mysql. I have a book on it from a couple years ago that I never read. The problem now is I have no idea how the stuff I'm learning can be turned into what I want.



Well, if you are going to build something yourself and never build a public PHP-MySQL based webapp before, ask an experienced developer to review your code before posting it online. Your code might have a bunch of security issues, ranging from direct system code execution to SQL injection.
* Don't pray for me if you wanna help - just send me a check. *

Share this post


Link to post
Share on other sites
I'm a programmer that specializes in web applications (SaaS to be specific).
From the OP here is what I have gathered. You WANT image and video uploads. You will need a way display the images, encode the video and play the video on the page. You will probably also want the ability to have user login/profiles, comment system, maybe even a rating system.

For right now ditch the idea of PHP. I originally wrote a post about why PHP is a bad idea for the OP, but I felt it was to technical for this forum so I will leave it at this: Don't use PHP, you will end up creating an insecure website because of your level of experience with the language. In my opinion, the TurboGears framework would be a better fit for what you are trying to do. TurboGears uses the Python language, it will handle any database you want to use. It also comes with an authentication system (users/groups/permissions) that you can use, and a lot more if you want research it. The Model/View/Controller method is also makes the site easier manage later down the road.

As for the frontend side, look at the Dojo JavaScript toolkit. It will give you all of those cool JavaScript widgets to use on your site, plus it can handle AJAX requests very efficiently. As for AJAX, research onChange, onBlur, on* to fire the AJAX request.

Just please remember that PHP only looks easy on the surface, it is extremely easy to make an insecure page no matter what language you use. PHP tends to get targeted because of what it will allow you to do and fact that new users tend to pick it up.

Post more details of what you want the site to actually do, in my experience, TurboGears + Dojo can handle just about anything you throw at it.

First post btw (yay no more lurking)

Share this post


Link to post
Share on other sites
I disagree about not using PHP. There is nothing inherently more insecure about using PHP for backend than Python. Error checking on user submitted data is something that all programmers should learn to do manually. There are tons of arguments over which is a better scripting language. But that's outside the scope of this thread.

The OP said he wanted to learn how to do the programming. Learning how to use editors that create code for you is counterproductive to learning how to code. I know guys that have been using Dreamweaver for years and still can't hand code an HTML table properly, let alone create a DB query and process the results into HTML output.

Learn basic HTML, it's not complex. Then wrap your brain around HTTP requests using GET and POST. After that, pick a scripting language (PHP, ASP, Python .. whatever) and practice handling the request data on the server and returning stuff back to the browser. Then, read up on the basics of SQL and learn how to create databases and setup basic tables. By then, you'll be ready to learn the DB functions in your scripting language and use them to get the data you need to process for HTML output.

Having a noob programmer to start using editors at the very beginning is a bad idea IMHO.

Share this post


Link to post
Share on other sites
You are correct on all the features you mentioned. I need users to be able to upload the pics and video and display them like you mention. I definately need logins/profiles, the comment system I want though is less like youtube's one box and more like Facebook's multi-box system that can all be edited with one click. I would want the rating system to rate the individual comment in the box rather than rate the whole thing.

I feel like I should almost write up a brief for all of you.

Share this post


Link to post
Share on other sites
Loading files is pretty simple. Read up on using the proper ENCTYPE (encoding) in your FORM tag (usually multipart/form-data) and throw in a FILE tag to get the browse button form element. Keep the MAXFILESIZE variable in mind. Then, access the HTTP POST'ed file through the PHP $_FILES superglobal variable. Here's the PHP manual page on it.

http://www.php.net/manual/en/features.file-upload.post-method.php

At that point, you'll want to move the file onto the filesystem and probably store a reference to it in the DB. Do not put files directly into the DB, only store string references to them in the DB. Later, you'll query the DB, pull out the URL for the file and use it to create a link to the file in your HTML output.

Share this post


Link to post
Share on other sites
Use Wordpress.

There's plugins that will do all that shit for you, TONS of themes and it's all set up in a day tops.

Unless you want to build a site that gets millions of imps a day and have a 5k+ budget it's ridiculous to even consider having it custom coded when you can do it yourself in WP.

If you need something for which there's no plugin (I have 20 some sites and have never not found a plugin that I wanted) you can get it coded much cheaper then if you need someone to actually change the code on your site.

Share this post


Link to post
Share on other sites
I'd agree with just using a precanned Content Management System like Wordpress, Joomla, PHPNuke or even Sharepoint depending on what your host lets you run. There are thousands of plugins for all of the above programs and they have a proven security record and are frequently updated with new features and security patches. Once you start adding the level of complexity that you are looking at having you need to have the code reviewed by several parties to make sure there are not security issues and that takes either a lot of time or money. The community for each of those programs (minus Sharepoint) is huge and will develop custom modules for a very reasonable price.

I use Joomla a lot since its mainly PHP and SQL and I have background in both of those. I've got plug ins running that allow users to upload files, to send out newsletters to subscribers, to run SEO placement enchancements to the code and to track access to files if needed. Its also got security plug ins that let me block access to the site from certain IP's for people that were trying to upload Warez to the site.

I'd spend your time working on the interface or maybe a custom plugin and leave the majority of the heavy lifting to a proven CMS.
Yesterday is history
And tomorrow is a mystery

Parachutemanuals.com

Share this post


Link to post
Share on other sites
Quote

I'd agree with just using a precanned Content Management System like Wordpress, Joomla, PHPNuke or even Sharepoint depending on what your host lets you run. There are thousands of plugins for all of the above programs and they have a proven security record and are frequently updated with new features and security patches.



+1
a good CMS will save you tons of work.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

0