| 
<?
require('class.openid.php');
 
 
 // EXAMPLE
 if ($_POST['openid_action'] == "login"){ // Get identity from user and redirect browser to OpenID Server
 $openid = new SimpleOpenID;
 $openid->SetIdentity($_POST['openid_url']);
 $openid->SetTrustRoot('http://' . $_SERVER["HTTP_HOST"]);
 $openid->SetRequiredFields(array('email','fullname'));
 $openid->SetOptionalFields(array('dob','gender','postcode','country','language','timezone'));
 if ($openid->GetOpenIDServer()){
 $openid->SetApprovedURL('http://' . $_SERVER["HTTP_HOST"] . $_SERVER["PATH_INFO"]);      // Send Response from OpenID server to this script
 $openid->Redirect();     // This will redirect user to OpenID Server
 }else{
 $error = $openid->GetError();
 echo "ERROR CODE: " . $error['code'] . "<br>";
 echo "ERROR DESCRIPTION: " . $error['description'] . "<br>";
 }
 exit;
 }
 else if($_GET['openid_mode'] == 'id_res'){     // Perform HTTP Request to OpenID server to validate key
 $openid = new SimpleOpenID;
 $openid->SetIdentity($_GET['openid_identity']);
 $openid_validation_result = $openid->ValidateWithServer();
 if ($openid_validation_result == true){         // OK HERE KEY IS VALID
 echo "VALID";
 }else if($openid->IsError() == true){            // ON THE WAY, WE GOT SOME ERROR
 $error = $openid->GetError();
 echo "ERROR CODE: " . $error['code'] . "<br>";
 echo "ERROR DESCRIPTION: " . $error['description'] . "<br>";
 }else{                                            // Signature Verification Failed
 echo "INVALID AUTHORIZATION";
 }
 }else if ($_GET['openid_mode'] == 'cancel'){ // User Canceled your Request
 echo "USER CANCELED REQUEST";
 }
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
 <html>
 <head>
 <title>OpenID Example</title>
 <style>
 #openid{
 border: 1px solid gray;
 display: inline;
 }
 #openid, #openid INPUT{
 font-family: "Trebuchet MS";
 font-size: 12px;
 }
 #openid LEGEND{
 1.2em;
 font-weight: bold;
 color: #FF6200;
 padding-left: 5px;
 padding-right: 5px;
 }
 #openid INPUT.openid_login{
 background: url(imgs/3rdparty/openid-login-bg.gif) no-repeat;
 background-color: #fff;
 background-position: 0 50%;
 color: #000;
 padding-left: 18px;
 width: 220px;
 margin-right: 10px;
 }
 #openid A{
 color: silver;
 }
 #openid A:hover{
 color: #5e5e5e;
 }
 </style>
 </head>
 
 <body>
 
 <div>
 <fieldset id="openid">
 <legend>OpenID Login</legend>
 <form action="<?echo 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER["PATH_INFO"]; ?>" method="post" onsubmit="this.login.disabled=true;">
 <input type="hidden" name="openid_action" value="login">
 <div><input type="text" name="openid_url" class="openid_login"><input type="submit" name="login" value="login >>"></div>
 <div><a href="http://www.myopenid.com/" class="link" >Get an OpenID</a></div>
 </form>
 </fieldset>
 </div>
 
 <div style="margin-top: 2em; font-family: arial; font-size: 0.8em; border-top:1px solid gray; padding: 4px;">Sponsored by: <a href="http://www.fivestores.com">FiveStores</a> - get your free online store; includes extensive API for developers; <i style="color: gray;">integrated with  <a href="http://en.wikipedia.org/wiki/OpenID">OpenID</a></i></div>
 
 </body>
 </html>
 |