Don’t make user think or learn ?
I don’t think so.
Everything , you must learn.
when you were a child, climb on the ground, and you learn how to walk.
iPhone user interface , you n’t need to learn how to using ? how to move, how to resize screen.
if you want drive a car, you don’t need to learn ?
I think, Make user no choice, Make uses learn less 3 steps.
- Think about it, who using you new UI Idea. you want them how to do?
- Not display more none information front of user’s face. It’s a bad idea.
- how to step 1-2-3, done everything. if not, you must think what’s wrong with your flow ?
- Not too much choice. too much, you’ll get more complain.
- don’t combine everything on a page. not everyone know how to do that, only you or your boss know that ?
- if you want to survey form not dispaly table list.
- simple radio/check box, alaways good for drag drop + Ctrl+Select All + copy 2 other side, just only mouse click not too much actives.
- wheye am I ?
and more…
if you want to using WSDL(Web Services Description Language)service, in PHP, you need nusoap, easy to use.
client1 form nusoap example.
- <?php
- /*
- * $Id: client1.php,v 1.3 2007/11/06 14:48:24 snichol Exp $
- *
- * Client sample that should get a fault response.
- *
- * Service: SOAP endpoint
- * Payload: rpc/encoded
- * Transport: http
- * Authentication: none
- */
- require_once('../lib/nusoap.php');
- $proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
- $proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
- $proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
- $proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
- $useCURL = isset($_POST['usecurl']) ? $_POST['usecurl'] : '0';
- $client = new nusoap_client("http://soap.amazon.com/onca/soap2", false,
- $proxyhost, $proxyport, $proxyusername, $proxypassword);
- $err = $client->getError();
- if ($err) {
- echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
- echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
- exit();
- }
- $client->setUseCurl($useCURL);
- // This is an archaic parameter list
- $params = array(
- 'manufacturer' => "O'Reilly",
- 'page' => '1',
- 'mode' => 'books',
- 'tag' => 'trachtenberg-20',
- 'type' => 'lite',
- 'devtag' => 'Your tag here',
- 'sort' => '+title'
- );
- $result = $client->call('ManufacturerSearchRequest', $params, 'http://soap.amazon.com', 'http://soap.amazon.com');
- if ($client->fault) {
- echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
- } else {
- $err = $client->getError();
- if ($err) {
- echo '<h2>Error</h2><pre>' . $err . '</pre>';
- } else {
- echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
- }
- }
- echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
- echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
- echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
- ?>
from Using curl to Query Remote Servers
- <?
- // Curl Introduction
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $data = curl_exec();
- curl_close($ch);
- ?>
-
- <?
- //Curl and form data
- $phoneNumber = '4045551111';
- $message = 'This message was generated by curl and php';
- $curlPost = 'pNUMBER=' . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send';
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/sendSMS.php');
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
- $data = curl_exec();
- curl_close($ch);
- ?>
-
- <?
- //Curl and proxies
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
- curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080');
- curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');
- $data = curl_exec();
- curl_close($ch);
- ?>
-
- //Authenticating with curl
- Example 1:
- <?
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_setopt(CURLOPT_USERPWD, '[username]:[password]')
-
- $data = curl_exec();
- curl_close($ch);
- ?>
- Example 2:
- <?
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
- curl_setopt(CURLOPT_USERPWD, '[username]:[password]')
-
- $data = curl_exec();
- curl_close($ch);
- ?>