Sack Ajax framework, 216–221
sack function, Sack framework, 216
Sack object
method property, 219
requestFile property, 219
runAjax method, 220
Sajax, 251–259, 265
sajax_handle_client_request method, 254
Sajax.php file, 253–255, 257, 258
SaneBull Market Monitor, 26–27
Sarissa
DomDocument object, 243
load method, 246
serialize method, 245
Save button, 274
script loops, PHP, 124
SCRIPT_FILENAME server variable, $_SERVER, 557
SCRIPT_NAME server variable, $_SERVER, 557
<script> element, 37, 43, 44, 45, 46, 48, 87, 255, 268, 428, 450
scrolling text, 405–407
searches, live, 8–9
security
overview, 591
password protection, 601–605
protection against malicious users, 591–600
proxy servers, 600–601
public and private key password encryption, 619–630
server-side user authentication, 605–619
<security-constraint> element, 605
Select/dropdown tag, Ajax Tag Library, 276
selectSingleNode method, 245
Send button, 272
send method, XMLHttpRequest object, 90, 91, 100
serialize method, Sarissa, 245
server variables, 556–560
SERVER_ADMIN server variable, $_SERVER, 557
SERVER_NAME server variable, $_SERVER, 557
SERVER_PORT server variable, $_SERVER, 557
SERVER_PROTOCOL server variable, $_SERVER, 557
SERVER_SIGNATURE server variable, $_SERVER, 557
SERVER_SOFTWARE server variable, $_SERVER, 557
servers, JavaScript sent from, 145–151
server-side frameworks
Java-based
Ajax Tag Library, 276–278
Direct Web Remoting, 271–276
SWATO with Java, 279–281
overview, 251
PHP-based
LibAjax, 265–271
Sajax, 251–259
Xajax, 260–265
Ruby on Rails
accessing downloaded data in code, 288–294
downloading text with Ajax, 282–288
server-side scripts, passing data to
with GET method, 106–110
with POST method, 110–115
server-side user authentication, 605–619
ServletRequest class, 634, 635, 637–639, 644–651, 654–657
ServletResponse, 634, 635, 637–639, 644–651, 654–657
setAttribute method, 308
setIsAsynchronous member, ajax object, 231
setlocale string function, PHP, 483
setMethod member, ajax object, 231
setPagePath method, 231
setPagePath member, ajax object, 231
setRequestData member, ajax object, 231
setRequestHeader method, XMLHttpRequest, 90, 92
setTimeout function, JavaScript, 463
setVar function, Sack framework, 216
sha1 string function, PHP, 484
sha1_file string function, PHP, 484
shopping carts enabled with Ajax
creating cross-browser mouse event object, 315–320
handling mouse down events, 320–323
handling mouse move events, 323–324
handling mouse up events, 325–328
overview, 310–315
show method, 396
showing menu, 396–398
showMessage function, JavaScript, 49–50, 80
sibling node, 298, 345
similar_text string function, PHP, 484
single Web page, PHP applications in, 563–566
soundex string function, PHP, 484
space, white
in cross-browser way, 361–365
in Mozilla, Netscape, and Firefox Web browsers, 359–361
<span> element, 52, 56, 408, 418
split function, JavaScript, 396
spreadsheets, 12
sprintf string function, PHP, 484
src attribute, <script> element, 43
srcElement property, 319
sscanf string function, PHP, 484
startRequest member, ajax object, 231
statements
echo statement, 469, 470
else statements, 497–498
elseif statements, 498–499
if statements
else statements, 497–498
elseif statements, 498–499
overview, 65–68
JavaScript statement, 39, 49
loop statements
do…while loop, 505–506
for loop, 74–75, 501–503
foreach loop, 506–508
overview, 73–78
while loop, 75–78, 503–505
switch statements, 499–501
var statement, JavaScript, 60
status property, XMLHttpRequest, 90, 91, 92, 96
statusText property, XMLHttpRequest, 90, 91, 92
str_ireplace string function, PHP, 484
str_pad string function, PHP, 484
str_repeat string function, PHP, 484
str_replace string function, PHP, 484
str_rot13 string function, PHP, 484
str_shuffle string function, PHP, 484
str_split string function, PHP, 484
str_word_count string function, PHP, 484
strcasecmp string function, PHP, 484
strchr string function, PHP, 484
strcmp function, 579
strcmp string function, PHP, 484
strcoll string function, PHP, 484
strcspn string function, PHP, 484
strings, interpolated variables in, 485–487
strip_tags string function, PHP, 484
stripcslashes string function, PHP, 484
stripos string function, PHP, 484
stripslashes string function, PHP, 484
stristr string function, PHP, 484
strlen string function, PHP, 484
strnatcasecmp string function, PHP, 484
strnatcmp string function, PHP, 484
strncasecmp string function, PHP, 484
strncmp string function, PHP, 484
strpos function, PHP, 478, 558
strrchr string function, PHP, 484
strrev string function, PHP, 485
strripos string function, PHP, 485
strrpos string function, PHP, 485
strspn string function, PHP, 485
strstr string function, PHP, 485
strtok string function, PHP, 485
strtolower string function, PHP, 485
strtoupper function, PHP, 478
strtoupper string function, PHP, 485
strtr string function, PHP, 485
Style attribute, 382
style sheets, cascading
Ajax-enabled menus
creating styles, 382–388
downloading menu items, 395–396
handling menu item clicks, 398–399
hiding menu, 400
showing menu, 396–398
working with mouse, 388–395
getting text noticed in applications, 401–405
scrolling text, 405–407
styling colors and backgrounds, 411–415
styling locations in Web pages, 416–418
styling text using, 407–411
<style> element, 158, 314, 384, 385, 386, 408
styles, creating, 382–388
Submit button, 11, 45, 523, 525, 526, 530, 533, 537, 556, 559, 565, 566, 580, 581, 585
substr function, PHP, 478
substr string function, PHP, 485
substr_compare string function, PHP, 485
substr_count string function, PHP, 485
substr_replace function, PHP, 478, 485
substring function, JavaScript, 407
substring method, 70
:success parameter, 288
sum variable, JavaScript, 61
Sun Microsystems, 36, 607–609, 636, 637, 643, 658, 663
SWATO, 13, 14, 251, 279–281
switch statements, 499–501