[eluser]TheFuzzy0ne[/eluser]
You can't check that the image is a square before uploading it without some kind of Flash or Java applet embedded on the page.
Once the file is uploaded, you can either crop it to a square using the image library, or use getimagesize() to get the image dimensions and see if it's square.
Another observation, it would be wiser to call $this->session->set_userdata() once. If you are storing your sessions in the database, or ever decide to, an update will be fired at the database once for each call to $this->session->set_userdata().
Code:
$this->session->set_userdata(array(
'name' => $data['name'],
'username' => $data['username'],
'address' => $data['address'],
));