list-persons.html
<html> <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <div id='liclass'> </div> <?php require('db.php'); $dbh = get_db(); $person_list = $dbh->query('select id, fullname, birthdate, country_code from person') ->fetch_all(MYSQLI_ASSOC); // echo format_html_table($person_list, 'persontable'); ?> <div id="person_list"> <?php foreach ($person_list as $person) { printf ( "<li><a href='update_person.php?id=%d'>%s</a>, %s, %s </li>\n", $person['id'], $person['fullname'], $person['birthdate'], $person['country_code'] ); } ?> </div> <html>
update_person.php
<?php require('db.php'); $dbh = get_db(); if ($_SERVER['REQUEST_METHOD'] == 'GET') { $id = $_GET['id']; $country_list = $dbh->query('select Code, Name from country') ->fetch_all(MYSQLI_ASSOC); $sth = $dbh->prepare( 'select fullname, birthdate, country_code from person where id = ?' ); $id = $_GET['id']; $sth->bind_param("d", $id); $sth->execute(); $sth->bind_result($fullname, $birthdate, $country_code); $sth->fetch(); ?> <html> <form name="personform" id="personform" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> <input name="id" id="id" type="hidden" value = <?php echo $id?>/> <p>Fullname: <input name="fullname" id="fullname" type="text" size="30" value="<?php echo$fullname?>"></p> <p>Birthdate: <input name="birthdate" id="birthdate" type="text" size="30" value=<?php echo $birthdate?> ></p> <p>Country: <select name="country_code" id="country_code" > <?php foreach ($country_list as $row) { if ($row['Code'] == $country_code) { $selected = 'selected'; } else { $selected = ''; } printf('<option value="%s" %s>%s</option>', $row['Code'], $selected, $row['Name'] ); } ?> </select> </p> <p><input type="submit" value="Save"></p> </form> <?php } elseif ($_SERVER['REQUEST_METHOD'] == 'POST') { ?> <meta http-equiv="refresh" content="0; url=list-persons.php" /> <?php $sth = $dbh->prepare( "update person set fullname = ?, birthdate = ?, country_code = ? where id = ?" ); $fullname = $_POST['fullname']; $birthdate = $_POST['birthdate']; $country_code = $_POST['country_code']; $id = $_POST['id']; $sth->bind_param("sssd", $fullname, $birthdate, $country_code, $id); $sth->execute(); }
write_person.php
<?php require('db.php'); $dbh = get_db(); if ($_SERVER['REQUEST_METHOD'] == 'GET') { $country_list = $dbh->query('select Code, Name from country') ->fetch_all(MYSQLI_ASSOC); if (isset($_GET['id'])) { $id = $_GET['id']; $sth = $dbh->prepare( 'select fullname, birthdate, country_code from person where id = ?' ); $sth->bind_param("d", $id); $sth->execute(); $sth->bind_result($fullname, $birthdate, $country_code); $sth->fetch(); } else { $id = ''; $fullname = ''; $birthdate = ''; $country_code = ''; } ?> <html> <form name="personform" id="personform" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> <input name="id" id="id" type="hidden" value ="<?php echo $id?>"/> <p>Fullname: <input name="fullname" id="fullname" type="text" size="30" value="<?php echo $fullname?>"></p> <p>Birthdate: <input name="birthdate" id="birthdate" type="text" size="30" value="<?php echo $birthdate?>" ></p> <p>Country: <select name="country_code" id="country_code" > <?php foreach ($country_list as $row) { if ($row['Code'] == $country_code) { $selected = 'selected'; } else { $selected = ''; } printf('<option value="%s" %s>%s</option>', $row['Code'], $selected, $row['Name'] ); } ?> </select> </p> <p><input type="submit" value="Save"></p> </form> <?php } elseif ($_SERVER['REQUEST_METHOD'] == 'POST') { ?> <meta http-equiv="refresh" content="1; url=list-persons.php" /> <?php $fullname = $_POST['fullname']; $birthdate = $_POST['birthdate']; $country_code = $_POST['country_code']; if (isset($_POST['id']) and $_POST['id'] != '' ) { echo "updating<br>\n"; $id = $_POST['id']; $sth = $dbh->prepare( "update person set fullname = ?, birthdate = ?, country_code = ? where id = ?" ); $sth->bind_param("sssd", $fullname, $birthdate, $country_code, $id); } else { echo "inserting<br>\n"; $sth = $dbh->prepare( "insert into person (fullname, birthdate, country_code) values (?, ?, ?)" ); $sth->bind_param("sss", $fullname, $birthdate, $country_code); } $sth->execute(); }
list-persons.php
<html> <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <pre> <?php require('db.php'); // if ( // $path = preg_split("/\/+/", $_SERVER['PATH_INFO'].'/'); // var_dump($_SERVER); // var_dump($path); $dbh = get_db(); $person_list = $dbh->query('select id, fullname, birthdate, country_code from person') ->fetch_all(MYSQLI_ASSOC); // echo format_html_table($person_list, 'persontable'); ?> </pre> <div id="person_list"> <?php foreach ($person_list as $person) { printf ( "<li><a href='write_person.php?id=%d'>%s</a>, %s, %s </li>\n", $person['id'], $person['fullname'], $person['birthdate'], $person['country_code'] ); } ?> </div> <br> <a href='write_person.php'>Add new person</a> <html>
noch sehr unansehnlich
<?php require('db.php'); $dbh = get_db(); if (isset($_SERVER['PATH_INFO'])) { $path = explode('/', $_SERVER['PATH_INFO']); } else { $path = array(); } $path = array_filter($path); /* echo "<pre>"; var_dump($path); echo "</pre>"; */ if (empty($path)) { list_persons($dbh); exit; } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && $path[1] == 'write') { $country_list = $dbh->query('select Code, Name from country') ->fetch_all(MYSQLI_ASSOC); if ($path[2] == 'id' and isset($path[3])) { $id = $path[3]; echo "<h2>Update Person $id</h2>\n"; $sth = $dbh->prepare( 'select id, fullname, birthdate, country_code from person where id = ?' ); $sth->bind_param("d", $id); $sth->execute(); $sth->bind_result($read_id, $fullname, $birthdate, $country_code); $sth->fetch(); if ($read_id != $id) { ?> <meta http-equiv="refresh" content="2; url=persons.php" /> <h2>unknown id, go away</h2> <?php exit(); } } else { echo "<h2>Insert Person</h2>\n"; $id = ''; $fullname = ''; $birthdate = ''; $country_code = ''; } ?> <html> <form name="personform" id="personform" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> <input name="id" id="id" type="hidden" value ="<?php echo $id?>"/> <p>Fullname: <input name="fullname" id="fullname" type="text" size="30" value="<?php echo $fullname?>"></p> <p>Birthdate: <input name="birthdate" id="birthdate" type="text" size="30" value="<?php echo $birthdate?>" ></p> <p>Country: <select name="country_code" id="country_code" > <?php foreach ($country_list as $row) { if ($row['Code'] == $country_code) { $selected = 'selected'; } else { $selected = ''; } printf('<option value="%s" %s>%s</option>', $row['Code'], $selected, $row['Name'] ); } ?> </select> </p> <p><input type="submit" value="Save"></p> </form> <?php } elseif ($_SERVER['REQUEST_METHOD'] == 'POST') { ?> <meta http-equiv="refresh" content="0.5; url=/kurs/person.php" /> <?php $fullname = $_POST['fullname']; $birthdate = $_POST['birthdate']; $country_code = $_POST['country_code']; if (isset($_POST['id']) and $_POST['id'] != '' ) { echo "updating<br>\n"; $id = $_POST['id']; $sth = $dbh->prepare( "update person set fullname = ?, birthdate = ?, country_code = ? where id = ?" ); $sth->bind_param("sssd", $fullname, $birthdate, $country_code, $id); } else { echo "inserting<br>\n"; $sth = $dbh->prepare( "insert into person (fullname, birthdate, country_code) values (?, ?, ?)" ); $sth->bind_param("sss", $fullname, $birthdate, $country_code); } $sth->execute(); } function list_persons($dbh) { $person_list = $dbh->query('select id, fullname, birthdate, country_code from person') ->fetch_all(MYSQLI_ASSOC); ?> </pre> <div id="person_list"> <?php foreach ($person_list as $person) { printf ( "<li><a href='person.php/write/id/%d'>%s</a>, %s, %s </li>\n", $person['id'], $person['fullname'], $person['birthdate'], $person['country_code'] ); } ?> </div> <br> <a href='person.php/write'>Add new person</a> <html> <?php }