baseline 7.4 as-is produzione
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
<html>␍
|
||||
<head>␍
|
||||
<title>Add/Edit Record</title>␍
|
||||
</head>␍
|
||||
<?php␍
|
||||
/**␍
|
||||
* handleForm.php␍
|
||||
* ␍
|
||||
* Copyright © 2005-2006, FileMaker, Inc. All rights reserved.␍
|
||||
* NOTE: Use of this source code is subject to the terms of the FileMaker␍
|
||||
* Software License which accompanies the code. Your use of this source code␍
|
||||
* signifies your agreement to such license terms and conditions. Except as␍
|
||||
* expressly granted in the Software License, no other copyright, patent, or␍
|
||||
* other intellectual property license or right is granted, either expressly or␍
|
||||
* by implication, by FileMaker.␍
|
||||
*␍
|
||||
* This is a script to handle the form submit for a new record or editing a record.␍
|
||||
*/␍
|
||||
␍
|
||||
// Turn on output buffering so that we can set Location: HTTP Header later on␍
|
||||
ob_start();␍
|
||||
␍
|
||||
require_once("FileMaker.php");␍
|
||||
␍
|
||||
// Create FileMaker object␍
|
||||
// Location of FileMaker Server is assumed to be on the same machine,␍
|
||||
// thus we assume hostspec is api default of 'http://localhost' as specified␍
|
||||
// in filemaker-api.php.␍
|
||||
// If FMSA web server is on another machine, specify 'hostspec' as follows:␍
|
||||
// $fm = new FileMaker('FMPHP_Sample', 'http://10.0.0.1');␍
|
||||
$fm = new FileMaker('FMPHP_Sample');␍
|
||||
␍
|
||||
// Field names we expect as keys in $_POST[]␍
|
||||
$keys = array(␍
|
||||
'Title',␍
|
||||
'Author',␍
|
||||
'Publisher',␍
|
||||
'Cover Photo Credit',␍
|
||||
'Number of Pages',␍
|
||||
'Status',␍
|
||||
'Quantity in Stock',␍
|
||||
'Description'␍
|
||||
);␍
|
||||
␍
|
||||
// utility function to set field values from posted data␍
|
||||
function setFieldData($record)␍
|
||||
{␍
|
||||
// declare $keys as a global variable␍
|
||||
global $keys;␍
|
||||
// loop over each field value and append to array␍
|
||||
$result = array();␍
|
||||
foreach ($keys as $fieldname) {␍
|
||||
$value = null;␍
|
||||
// workaround PHP's insistence that spaces in␍
|
||||
// form variables be replaced by "_"␍
|
||||
if (!strpos($fieldname, " ")) {␍
|
||||
$value = $_POST[$fieldname];␍
|
||||
} else {␍
|
||||
$value = $_POST[str_replace(" ", "_", $fieldname)];␍
|
||||
}␍
|
||||
if (strlen($value) > 0) {␍
|
||||
$record->setField($fieldname, $value);␍
|
||||
} elseif (strlen($record->getField($fieldname)) > 0) {␍
|
||||
$record->setField($fieldname, null);␍
|
||||
}␍
|
||||
}␍
|
||||
return $result;␍
|
||||
}␍
|
||||
// declare $rec␍
|
||||
$rec = null;␍
|
||||
␍
|
||||
// check to see that user didn't hit 'cancel' button␍
|
||||
if (!array_key_exists('cancel', $_POST)) {␍
|
||||
// Check for recid parameter which determines if this is a create new or edit␍
|
||||
if (array_key_exists('recid', $_POST)) {␍
|
||||
$rec = $fm->getRecordById('Form View', $_POST['recid']);␍
|
||||
} else {␍
|
||||
$rec =& $fm->createRecord('Form View');␍
|
||||
}␍
|
||||
if (FileMaker::isError($rec)) {␍
|
||||
echo 'Record addition failed: (' . $rec->getCode() . ') ' . $rec->getMessage() . "\n";␍
|
||||
exit;␍
|
||||
}␍
|
||||
// set field data from form data␍
|
||||
setFieldData($rec);␍
|
||||
// commit record to database␍
|
||||
$result = $rec->commit();␍
|
||||
␍
|
||||
if (FileMaker::isError($result)) {␍
|
||||
echo 'Record addition failed: (' . $result->getCode() . ') ' . $result->getMessage() . "\n";␍
|
||||
exit;␍
|
||||
}␍
|
||||
}␍
|
||||
␍
|
||||
// set Location: HTTP header to force redirect␍
|
||||
header("Location: displayRecords.php");␍
|
||||
␍
|
||||
// End output buffering and flush output␍
|
||||
ob_end_flush();␍
|
||||
?>
|
||||
Reference in New Issue
Block a user