Getting fired is unfortunately a problem that we can't help you solve. In that sense, questions about getting fired are off topic. But you are not asking that, you are asking if it's fair, common and if the employee do anything about it if this is something violates him/her emotionally just because it is against common code of conduct.
Is it fair is not a question that is suitable for a Stack Exchange site, the Workplace is a Q&A site not a discussion forum. If you give us enough details we can tell you if it's unusual, legal, expected, but fair or not is a matter of opinion. Even if you knew the exact reasons that lead to you getting fired, whether it was fair or not would still be dependent on perspective and opinion heavy. We don't want that, that's not what the Workplace or any Stack Exchange site is about.
If it's common or not is a bit more suitable question. Still without any specifics, the answer is "it depends", and questions that lead to "it depends" answers are borderline not constructive. Same with the last part of your question, how can we tell you what you can do if we don't know why you were fired in the first place and what kind of contract you had.
The question is troublesome in quite a few levels, parts of it are too broad, parts of it are too vague and parts of it are unanswerable even if we had all the necessary details. All answers are heavy on speculation and personal opinions, and that's another sign that the question is unsuitable. Since you're fairly new to Stack Exchange, you really need to read the FAQ carefully:
What kind of questions should I not ask here?
You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.
Your questions should be reasonably scoped. If you can imagine an entire book that answers your question, you’re asking too much.
If your motivation for asking the question is “I would like to participate in a discussion about _”, then you should not be asking here. However, if your motivation is “I would like others to explain _ to me”, then you are probably OK. (Discussions are of course welcome in our real time web chat.)
To prevent your question from being flagged and possibly removed, avoid asking subjective questions where …
- every answer is equally valid: “What’s your favorite __?”
- your answer is provided along with the question, and you expect more answers: “I use _ for _, what do you use?”
- there is no actual problem to be solved: “I’m curious if other people feel like I do.”
- we are being asked an open-ended, hypothetical question: “What if __ happened?”
- it is a rant disguised as a question: “__ sucks, am I right?”
And in addition you should read the two blog posts that further expand on the infamous subjective guidelines: Good Subjective, Bad Subjective and Real Questions Have Answers.
Furthermore you need to understand that phrases like "rant in disguise", "not constructive", "too localized" and many more are just Stack Exchange lingo, labels that help us quickly convey what makes a question unsuitable, and they are always comments on the question not the asker.
The question is a bit rantish, but that's expected as you are in an emotional state after what you perceive as unfair treatment. But you need to understand that an outside observer has absolutely no way of knowing if you were in fact treated unfairly. I'm both a company owner and an employee (weird, I know), and I see the question from both perspectives, and it confuses the hell out of me. I had to fire someone shortly after they were hired, for very good reason, but at the same time I can understand how weird it might have seemed to outside observers (or when she was telling the story from her perspective).
Finding the balance between too broad and too localized is extremely hard, and it's not only up to you, we are all here to help, but you really need to approach this with an open mind. Some questions will never fit into the philosophy and format of the site, however relevant they might be, or interesting, or popular. The site already has some serious quality issues, people overeagerly flock around bikeshed questions, and on most questions we have a pile of opinions instead of a couple of actually useful answers. That might be fun now, but it will get old soon, trust me.
There is one version of your question that I think would be far more suitable than the current, and will be of benefit to everyone, and that is:
I had this unpleasant experience, I was fired two days in the job, what steps should I take next time to prepare and protect myself?
I don't know if that's a stellar question, but at least it has some actual answers, and thus it will be quite easier to weed out the crap. It's still a bit borderline, but hey, I never said I was better at this than anyone else ;) Lastly, you may think that this was actually part of your question. Well, it was not, we are not here to try and imagine what it is you are actually asking. Some of the answerers and commenters, those that are more experienced with Stack Exchange, did see that question hidden in your question, but they didn't have to.