Ok I have looked at this in more detail and it was not really that @Hyperbytes, damn, so what the page does is run a small query on load which gives me a list of clients, if a client is clicked on it opens a data detail region which has an UPDATE form inside.
However if no entry is clicked on and instead the user clicks a button at the top of the page saying ADD NEW ENTRY then a second form is displayed with different IDs to the update form.
Here is the code to try make sense of it possibly
<?php
require('dmxConnectLib/dmxConnect.php');
$app = new \lib\App();
$app->exec(<<<'JSON'
{
"steps": [
"Connections/con_ac_db",
"SecurityProviders/security_ac_db",
{
"module": "auth",
"action": "restrict",
"options": {"loginUrl":"index.php","forbiddenUrl":"index.php","provider":"security_ac_db"}
}
]
}
JSON
, TRUE);
?>
<!doctype html>
<html><head>
<meta charset="UTF-8">
<title>Africa Collection Consumer Database Administration</title>
<link rel="apple-touch-icon" sizes="180x180" href="../ac-icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="../ac-icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="../ac-icon/favicon-16x16.png">
<link href="https://fonts.googleapis.com/css?family=Gentium+Basic:400i%7cOpen+Sans+Condensed:700%7cRoboto:300,300i,400,500,700,900" rel="stylesheet">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<script type="text/javascript" src="dmxAppConnect/dmxAppConnect.js"></script>
<script type="text/javascript" src="dmxAppConnect/dmxBootstrap4Navigation/dmxBootstrap4Navigation.js"></script>
<script type="text/javascript" src="dmxAppConnect/dmxBrowser/dmxBrowser.js"></script>
<script type="text/javascript" src="dmxAppConnect/dmxDataTraversal/dmxDataTraversal.js"></script>
<script type="text/javascript" src="dmxAppConnect/dmxFormatter/dmxFormatter.js"></script>
<link rel="stylesheet" type="text/css" href="dmxAppConnect/dmxValidator/dmxValidator.css">
<script type="text/javascript" src="dmxAppConnect/dmxValidator/dmxValidator.js"></script>
<link rel="stylesheet" type="text/css" href="admin_styles.css?<?php echo date('l jS \of F Y h:i:s A'); ?>">
</head>
<body is="dmx-app">
<dmx-serverconnect id="serverconnect_consumer_view" url="dmxConnect/api/consumer/consumers.php" dmx-param:filter_post_code="filter_post_code.value" dmx-param:filter_email="filter_email.value"></dmx-serverconnect>
<dmx-value id="var_insert_new"></dmx-value>
<?php include 'inc-header.php';?>
<dmx-serverconnect id="logout" url="dmxConnect/api/authentication_security/ac_logout.php" noload="noload" dmx-on:success="browser_logout.goto('index.php')"></dmx-serverconnect>
<div is="dmx-browser" id="browser_logout"></div>
<div class="container">
<div class="row">
<div class="col-4">
<h4>Consumers <span class="badge badge-secondary float-right">{{serverconnect_consumer_view.data.query_paged_consumers.total}} Records</span>
</h4>
<div class="form-row">
<div class="form-group col-md-6">
<input type="text" class="form-control" id="filter_post_code" name="filter_post_code" placeholder="Filter: Post Code">
</div>
<div class="form-group col-md-6">
<input type="text" class="form-control" id="filter_email" name="filter_email" placeholder="Filter: Email">
</div>
</div>
<div class="list-group list-group-flush" is="dmx-repeat" id="repeat_consumer_view" dmx-bind:repeat="serverconnect_consumer_view.data.query_paged_consumers.data">
<a href="javascript:void(0);" class="list-group-item list-group-item-action" dmx-on:click="data_detail_consumer_view.select(acCdbID);var_insert_new.setValue()"> {{acCdbCaptureDate}} - {{acCdbOriginalDatabaseOrigin}}</a>
</div>
<div class="btn-group mt-2 mb-5" role="group" aria-label="Pagination">
<button type="button" class="btn btn-dark" dmx-on:click="serverconnect_consumer_view.load({offset: serverconnect_consumer_view.data.query_paged_consumers.page.offset.prev, limit: 25})" dmx-hide="serverconnect_consumer_view.data.query_paged_consumers.page.current == 1">â</button>
<button type="button" class="btn btn-dark" dmx-on:click="serverconnect_consumer_view.load({offset: serverconnect_consumer_view.data.query_paged_consumers.page.offset.next, limit: 25})" dmx-hide="serverconnect_consumer_view.data.query_paged_consumers.page.current == serverconnect_consumer_view.data.query_paged_consumers.page.total">â</button>
<span class="btn btn-dark disabled">Page {{serverconnect_consumer_view.data.query_paged_consumers.page.current}} of {{serverconnect_consumer_view.data.query_paged_consumers.page.total}}</span></div>
</div>
<div class="col-7 offset-lg-1">
<p dmx-hide="data_detail_consumer_view.data.acCdbID" class="text-danger">To View, Edit, or Delete an existing entry, click it on the list to the left.<br>To Add a new entry click <button type="button" class="btn btn-success" dmx-on:click="var_insert_new.setValue(1)">ADD NEW ENTRY</button></p>
<form is="dmx-serverconnect-form" id="serverconnectform_insert" method="post" action="dmxConnect/api/consumer/consumers_insert.php" dmx-generator="bootstrap4" dmx-form-type="vertical" dmx-show="var_insert_new.value" dmx-on:success="serverconnect_consumer_view.load({limit: 25});var_insert_new.setValue()">
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbTitleInsert">Title:</label>
<input type="text" class="form-control" id="acCdbTitleInsert" name="acCdbTitleInsert" placeholder="Mr, Miss, Mrs, Ms, Unkown, or Blank">
</div>
<div class="form-group col-md-6">
<label for="acCdbInitialsInsert">Initials:</label>
<input type="text" class="form-control" id="acCdbInitialsInsert" name="acCdbInitialsInsert">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbFirstNameInsert">First Name:</label>
<input type="text" class="form-control" id="acCdbFirstNameInsert" name="acCdbFirstNameInsert">
</div>
<div class="form-group col-md-6">
<label for="acCdbLastNameInsert">Last Name:</label>
<input type="text" class="form-control" id="acCdbLastNameInsert" name="acCdbLastNameInsert">
</div>
</div>
<div class="form-group">
<label for="acCdbAddress1Insert">Address 1:</label>
<input type="text" class="form-control" id="acCdbAddress1Insert" name="acCdbAddress1Insert">
</div>
<div class="form-group">
<label for="acCdbAddress2Insert">Address 2:</label>
<input type="text" class="form-control" id="acCdbAddress2Insert" name="acCdbAddress2Insert">
</div>
<div class="form-group">
<label for="acCdbAddress3Insert">Address 3:</label>
<input type="text" class="form-control" id="acCdbAddress3Insert" name="acCdbAddress3Insert">
</div>
<div class="form-group">
<label for="acCdbAddressTownInsert">Town:</label>
<input type="text" class="form-control" id="acCdbAddressTownInsert" name="acCdbAddressTownInsert">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbAddressCountyInsert">County:</label>
<input type="text" class="form-control" id="acCdbAddressCountyInsert" name="acCdbAddressCountyInsert">
</div>
<div class="form-group col-md-6">
<label for="acCdbAddressPostCodeInsert">Post Code:</label>
<input type="text" class="form-control" id="acCdbAddressPostCodeInsert" name="acCdbAddressPostCodeInsert">
</div>
</div>
<div class="form-group">
<label for="acCdbAddressCountryInsert">Country:</label>
<input type="text" class="form-control" id="acCdbAddressCountryInsert" name="acCdbAddressCountryInsert">
</div>
<div class="form-group">
<label for="acCdbEmailInsert">Email Address:</label>
<input type="email" class="form-control" id="acCdbEmailInsert" name="acCdbEmailInsert">
</div>
<div class="form-group">
<label for="acCdbStatusInsert">Status:</label>
<input type="text" class="form-control" id="acCdbStatusInsert" name="acCdbStatusInsert" placeholder="Sent, Waiting">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbBInsert">POP:</label>
<input type="text" class="form-control" id="acCdbBInsert" name="acCdbBInsert" aria-describedby="acCdbBInsert_help" placeholder="The # of Portfolio Brochures Sent">
<small id="acCdbBInsert_help" class="form-text text-muted">Used to be know as Column B.</small>
</div>
<div class="form-group col-md-6">
<label for="acCdbRInsert">AC Guide:</label>
<input type="text" class="form-control" id="acCdbRInsert" name="acCdbRInsert" aria-describedby="acCdbRInsert_help" placeholder="The # of AC Guides Sent">
<small id="acCdbRInsert_help" class="form-text text-muted">Used to be known as Column R.</small>
</div>
</div>
<div class="form-group">
<label for="acCdbNotesInsert">Notes:</label>
<textarea id="acCdbNotesInsert" name="acCdbNotesInsert" class="form-control"></textarea>
</div>
<div class="form-group">
<label for="acCdbTelephoneInsert">Telephone Number:</label>
<input type="text" class="form-control" id="acCdbTelephoneInsert" name="acCdbTelephoneInsert">
</div>
<div class="form-group">
<label for="acCdbObtainedSourceInsert">Obtained Source:</label>
<input type="text" class="form-control" id="acCdbObtainedSourceInsert" name="acCdbObtainedSourceInsert">
</div>
<div class="form-group">
<label for="acCdbReSentDateInsert">Re-Sent Date:</label>
<input type="date" class="form-control" id="acCdbReSentDateInsert" name="acCdbReSentDateInsert">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbBookedPreviouslyInsert">Booked Previously:</label>
<input type="text" class="form-control" id="acCdbBookedPreviouslyInsert" name="acCdbBookedPreviouslyInsert" aria-describedby="acCdbBookedPreviouslyInsert_help">
<small id="acCdbBookedPreviouslyInsert_help" class="form-text text-muted">ENTER Y(yes) / N(no).</small>
</div>
<div class="form-group col-md-6">
<label for="acCdbNumberOfBookingsInsert">Number of Bookings:</label>
<input type="number" class="form-control" id="acCdbNumberOfBookingsInsert" name="acCdbNumberOfBookingsInsert">
</div>
</div>
<div class="form-group">
<label for="acCdbMostRecentDateOfTravelInsert">Most Recent Date of Travel:</label>
<input type="date" class="form-control" id="acCdbMostRecentDateOfTravelInsert" name="acCdbMostRecentDateOfTravelInsert">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbBookingValueInsert">Booking Value:</label>
<input type="number" class="form-control" id="acCdbBookingValueInsert" name="acCdbBookingValueInsert">
</div>
<div class="form-group col-md-6">
<label for="acCdbTotalSpendInsert">Total Spend:</label>
<input type="number" class="form-control" id="acCdbTotalSpendInsert" name="acCdbTotalSpendInsert">
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success">Insert Record</button>
</div>
</form>
<dmx-data-detail id="data_detail_consumer_view" dmx-bind:data="serverconnect_consumer_view.data.query_paged_consumers.data" key="acCdbID" dmx-show="data_detail_consumer_view.data.acCdbID">
<h4>Details</h4>
<form is="dmx-serverconnect-form" id="serverconnectform_view_update" method="post" action="dmxConnect/api/consumer/consumers_update.php" dmx-generator="bootstrap4" dmx-form-type="vertical" dmx-populate="data_detail_consumer_view.data">
<div class="form-group">
<input type="hidden" class="form-control" id="acCdbID" name="acCdbID" dmx-bind:value="data_detail_consumer_view.data.acCdbID" required="" data-msg-required="The ID is missing, please contact the web guy.">
</div>
<div class="form-group">
<label for="acCdbCaptureDate">Date Captured:</label>
<input type="date" class="form-control" id="acCdbCaptureDate" name="acCdbCaptureDate" dmx-bind:value="data_detail_consumer_view.data.acCdbCaptureDate.replace("NULL", "")">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbTitle">Title:</label>
<input type="text" class="form-control" id="acCdbTitle" name="acCdbTitle" dmx-bind:value="data_detail_consumer_view.data.acCdbTitle.replace("NULL", "")">
</div>
<div class="form-group col-md-6">
<label for="acCdbInitials">Initials:</label>
<input type="text" class="form-control" id="acCdbInitials" name="acCdbInitials" dmx-bind:value="data_detail_consumer_view.data.acCdbInitials.replace("NULL", "")">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbFirstName">First Name:</label>
<input type="text" class="form-control" id="acCdbFirstName" name="acCdbFirstName" dmx-bind:value="data_detail_consumer_view.data.acCdbFirstName.replace("NULL", "")">
</div>
<div class="form-group col-md-6">
<label for="acCdbLastName">Last Name:</label>
<input type="text" class="form-control" id="acCdbLastName" name="acCdbLastName" dmx-bind:value="data_detail_consumer_view.data.acCdbLastName.replace("NULL", "")">
</div>
</div>
<div class="form-group">
<label for="acCdbAddress1">Address 1:</label>
<input type="text" class="form-control" id="acCdbAddress1" name="acCdbAddress1" dmx-bind:value="data_detail_consumer_view.data.acCdbAddress1.replace("NULL", "")">
</div>
<div class="form-group">
<label for="acCdbAddress2">Address 2:</label>
<input type="text" class="form-control" id="acCdbAddress2" name="acCdbAddress2" dmx-bind:value="data_detail_consumer_view.data.acCdbAddress2.replace("NULL", "")">
</div>
<div class="form-group">
<label for="acCdbAddress3">Address 3:</label>
<input type="text" class="form-control" id="acCdbAddress3" name="acCdbAddress3" dmx-bind:value="data_detail_consumer_view.data.acCdbAddress3.replace("NULL", "")">
</div>
<div class="form-group">
<label for="acCdbAddressTown">Town:</label>
<input type="text" class="form-control" id="acCdbAddressTown" name="acCdbAddressTown" dmx-bind:value="data_detail_consumer_view.data.acCdbAddressTown.replace("NULL", "")">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbAddressCounty">County:</label>
<input type="text" class="form-control" id="acCdbAddressCounty" name="acCdbAddressCounty" dmx-bind:value="data_detail_consumer_view.data.acCdbAddressCounty.replace("NULL", "")">
</div>
<div class="form-group col-md-6">
<label for="acCdbAddressPostCode">Post Code:</label>
<input type="text" class="form-control" id="acCdbAddressPostCode" name="acCdbAddressPostCode" dmx-bind:value="data_detail_consumer_view.data.acCdbAddressPostCode.replace("NULL", "")">
</div>
</div>
<div class="form-group">
<label for="acCdbAddressCountry">Country:</label>
<input type="text" class="form-control" id="acCdbAddressCountry" name="acCdbAddressCountry" dmx-bind:value="data_detail_consumer_view.data.acCdbAddressCountry.replace("NULL", "")">
</div>
<div class="form-group">
<label for="acCdbEmail">Email Address:</label>
<input type="text" class="form-control" id="acCdbEmail" name="acCdbEmail" dmx-bind:value="data_detail_consumer_view.data.acCdbEmail">
</div>
<div class="form-group">
<label for="acCdbStatus">Status:</label>
<input type="text" class="form-control" id="acCdbStatus" name="acCdbStatus" dmx-bind:value="data_detail_consumer_view.data.acCdbStatus">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbB">POP:</label>
<input type="text" class="form-control" id="acCdbB" name="acCdbB" aria-describedby="acCdbB_help" dmx-bind:value="data_detail_consumer_view.data.acCdbB.replace("NULL", "")">
<small id="acCdbB_help" class="form-text text-muted">Used to be know as Column B.</small>
</div>
<div class="form-group col-md-6">
<label for="acCdbR">AC Guide:</label>
<input type="text" class="form-control" id="acCdbR" name="acCdbR" aria-describedby="acCdbR_help" dmx-bind:value="data_detail_consumer_view.data.acCdbR.replace("NULL", "")">
<small id="acCdbR_help" class="form-text text-muted">Used to be known as Column R.</small>
</div>
</div>
<div class="form-group">
<label for="acCdbNotes">Notes:</label>
<textarea class="form-control" id="acCdbNotes" name="acCdbNotes" dmx-bind:value="data_detail_consumer_view.data.acCdbNotes.replace("NULL", "")"></textarea>
</div>
<div class="form-group">
<label for="acCdbTelephone">Telephone Number:</label>
<input type="text" class="form-control" id="acCdbTelephone" name="acCdbTelephone" dmx-bind:value="data_detail_consumer_view.data.acCdbTelephone.replace("NULL", "")">
</div>
<div class="form-group">
<label for="acCdbObtainedSource">Obtained Source:</label>
<input type="text" class="form-control" id="acCdbObtainedSource" name="acCdbObtainedSource" dmx-bind:value="data_detail_consumer_view.data.acCdbObtainedSource">
</div>
<div class="form-group">
<label for="acCdbReSentDate">Re-Sent Date:</label>
<input type="date" class="form-control" id="acCdbReSentDate" name="acCdbReSentDate" dmx-bind:value="data_detail_consumer_view.data.acCdbReSentDate">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbBookedPreviously">Booked Previously:</label>
<input type="text" class="form-control" id="acCdbBookedPreviously" name="acCdbBookedPreviously" dmx-bind:value="data_detail_consumer_view.data.acCdbBookedPreviously" aria-describedby="bookedPreviouslyHelpBlock">
<small id="bookedPreviouslyHelpBlock" class="form-text text-muted">ENTER Y(yes) / N(no).</small>
</div>
<div class="form-group col-md-6">
<label for="acCdbNumberOfBookings">Number of Bookings:</label>
<input type="number" class="form-control" id="acCdbNumberOfBookings" name="acCdbNumberOfBookings" dmx-bind:value="data_detail_consumer_view.data.acCdbNumberOfBookings">
</div>
</div>
<div class="form-group">
<label for="acCdbMostRecentDateOfTravel">Most Recent Date of Travel:</label>
<input type="date" class="form-control" id="acCdbMostRecentDateOfTravel" name="acCdbMostRecentDateOfTravel" dmx-bind:value="data_detail_consumer_view.data.acCdbMostRecentDateOfTravel">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="acCdbBookingValue">Booking Value:</label>
<input type="number" class="form-control" id="acCdbBookingValue" name="acCdbBookingValue" dmx-bind:value="data_detail_consumer_view.data.acCdbBookingValue">
</div>
<div class="form-group col-md-6">
<label for="acCdbTotalSpend">Total Spend:</label>
<input type="number" class="form-control" id="acCdbTotalSpend" name="acCdbTotalSpend" dmx-bind:value="data_detail_consumer_view.data.acCdbTotalSpend">
</div>
</div>
<div class="form-group">
<label for="acCdbOriginalDatabaseOrigin">Database Origin:</label>
<input type="text" class="form-control" id="acCdbOriginalDatabaseOrigin" name="acCdbOriginalDatabaseOrigin" dmx-bind:value="data_detail_consumer_view.data.acCdbOriginalDatabaseOrigin">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary" form="serverconnectform_view_update">Update Record</button>
<button type="submit" class="btn btn-danger float-right" form="serverconnectform_delete">Delete Record</button>
</div>
</form>
<form is="dmx-serverconnect-form" id="serverconnectform_delete" method="post" action="dmxConnect/api/consumer/consumers_delete.php" dmx-generator="bootstrap4" dmx-form-type="vertical" dmx-populate="data_detail_consumer_view.data" dmx-on:success="serverconnect_consumer_view.load({limit: 25})">
<div class="form-group">
<input type="hidden" class="form-control" id="acCdbIDdelete" name="acCdbIDdelete" dmx-bind:value="data_detail_consumer_view.data.acCdbID" required="" data-msg-required="The ID is missing, please contact the web guy.">
</div>
</form>
</dmx-data-detail>
</div>
</div>
</div>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
</body></html>