Mobile app version of vmapp.org
Login or Join
Angie530

: Creating a site with similar functionality to RateMyProfessors I'm trying to create a website that accepts submissions into a form, and then later on I can display it in tables organized by

@Angie530

Posted in: #Cms #Forms #Table #WebDevelopment #WebsiteDesign

I'm trying to create a website that accepts submissions into a form, and then later on I can display it in tables organized by categories, similar to how RateMyProfessors does it:
www.ratemyprofessors.com/SelectTeacher.jsp?sid=399
To me, my main concerns are:


Figuring out a good way to read in
submissions and save it into a
database in the backend,
Displaying the data in organized
tables on the frontend.


Does anyone have any suggestions for any platform, framework, CMS, or anything that could assist me in creating such a site that's focused on very flexible forms?

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Angie530

2 Comments

Sorted by latest first Latest Oldest Best

 

@Becky754

Your two concerns are pretty "low level", thus satisfied by just about any option you pick. Most frameworks have "HTML Helpers" that can generate forms for you.

For example, in CodeIgniter, this:

form_open('register/complete');
form_input('username');
form_input('password');
form_input('password_confirmation');
form_submit('register', 'Submit Registration!');
form_close


will generate this:

<form method="post" action="http:/example.com/registration/complete" />
<input type="text" name="username" id="username" />
<input type="text" name="password" id="password" />
<input type="text" name="password_confirmation" id="password_confirmation" />
<input type="submit" name="register" value="Submit Registration!" />
</form>


and it will handle the form parameters and all that for you (with a little direction on your part).

Your other requirement -- reading in forms to input into the database -- is a basic FORM --> DATABASE insert that you'll also pick up quickly on your quest to learn about making websites.

To give you more actionable advice, I started out learning HTML/CSS and PHP. Gained a bunch of familiarity by playing with my own Wordpress and vBulletin installations. Then I seriously developed a few websites with PHP. And now I work with Ruby (framework: Rails) and Python (framework: Django).

I highly recommend that you start with:


HTML/CSS (for displaying the website).
PHP to actually run the logic of your website, interact with the database (like inserting submissions, selecting submissions to render into HTML), and generally run your website.
MySQL as your database.
CodeIgniter as a PHP framework. It has great documentation (pull down the Table of Contents tab on top).


This is pretty much called a "LAMP stack" (Linux/Apache/MySQL/PHP, for our purposes) and just about every server out there runs this setup. PHP is also the most prevalent scripting language out there, so you can find the most resources. And most of all, this all is easy to deploy and get running.

I think your real aim should be to learn how to make websites. Start by learning the fundamental basics of HTML, but then immediately jump into "PHP & MySQL", which are often taught coupled together. Once you have some basic footing and did some tutorial project in whatever book you chose to learn PHP/MySQL, I recommend jumping straight into your RateMyX project that you've envisioned. I'd even forget about CodeIgniter or any other framework until you can confidently create a simple website that can create/read/update/delete (CRUD) records in a database. A general understanding of PHP/HTML/database is required until you throw in another layer of something you simultaneously need to learn (a framework).

But once you get to that point, you'll realize what a framework really is and why it's helpful.

The project you describe is easier than you think. You just need to pick up a PHP+MySQL book and have at it.

/Edit/: I see that you're already learning PHP/MySQL and want some tools to help you out. Then go ahead and jump into CodeIgniter, start checking out the various Helpers and Classes in the User Guide I linked. You'll also have to learn the MVC (Model/View/Controller) setup, but once you learn it, you'll never want to go back. Even when I first started, I found that the actual website logic was easy. The harder parts were getting login/registration/authorization set up. Fortunately, CodeIgniter already has soon good solutions. Check out TankAuth or IonAuth for it. Handling data (Get and Post data, for example) that persists between pages as also very annoying until you get a framework.

10% popularity Vote Up Vote Down


 

@Alves908

I assume that you don't have particularly strong development experience (if this is an incorrect assumption, give me a rundown of your development background, and I may be able to provide more targeted advice). If you have some initial capital, you can probably source it out. Depending on the complexity of the initial build, it shouldn't be too hard to get a strong basic set of functionality on a ~-50k USD budget.

If, on the other hand, you are interested in actually getting your hands on some code, it's a somewhat long path to get to the level required to build a RateMyProfessors imitator. Two very popular and well-supported web application stacks are PHP and Ruby on Rails. Either one would be a good entrance. You can find book recommendations nearly everywhere, although N.B., Rails is still actively evolving, so you probably don't want to use a book more than a year old for Rails (in fact, in the current environment, a recent major upgrade to Rails from version 2 to version 3 makes it so that a lot of books are probably not a good idea). On the other hand, even a 3 year old PHP book will give you a decent introduction.

Finally, a decent middle ground is to try to put out your own site using a pre-built extensible CMS like Drupal. While your eventual capabilities will be limited (there's a good chance you'll hit a "wall" where you won't be able to achieve what you want and will either need to learn the technologies yourself or hire outside help, and in either of these cases, your application may well be rebuilt from the ground up), it's a good start.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme