{"id":22125262,"url":"https://github.com/arwl2016/php-get-started-wenz","last_synced_at":"2026-04-24T12:06:11.128Z","repository":{"id":84340855,"uuid":"85572998","full_name":"ARWL2016/php-get-started-wenz","owner":"ARWL2016","description":null,"archived":false,"fork":false,"pushed_at":"2017-03-22T05:18:48.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-24T07:57:09.133Z","etag":null,"topics":["mysql","php","phpmyadmin","security","xampp"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARWL2016.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-20T12:14:49.000Z","updated_at":"2017-03-22T07:35:50.000Z","dependencies_parsed_at":"2023-07-06T22:16:01.607Z","dependency_job_id":null,"html_url":"https://github.com/ARWL2016/php-get-started-wenz","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ARWL2016/php-get-started-wenz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fphp-get-started-wenz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fphp-get-started-wenz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fphp-get-started-wenz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fphp-get-started-wenz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARWL2016","download_url":"https://codeload.github.com/ARWL2016/php-get-started-wenz/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fphp-get-started-wenz/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262056669,"owners_count":23251724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mysql","php","phpmyadmin","security","xampp"],"created_at":"2024-12-01T16:18:49.970Z","updated_at":"2026-04-24T12:06:06.071Z","avatar_url":"https://github.com/ARWL2016.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"##PHP: Get Started (Pluralsight: Christian Wenz)\n\nhttps://app.pluralsight.com/library/courses/php-get-started/table-of-contents \n\n####Startup \n1. Open Xampp and start up Apache and MySQL servers\n2. http://localhost/php-get-started-wenz/select.php (served from C:/xampp/htdocs/)  \n3. Go to http://localhost/phpmyadmin/ to view database  \n\n####Featured technology \n- PHP 5.6.30\n- MySQL / MySQLi \n- PHPMyAdmin  \n\n####Basic Authorisation and Sessions\n- The authorisation in this app involves the login screen, the auth.php file, and redirects on other pages. \n- Only authorised users can access the edit and delete pages \n- To be authorised, a user must have a password (set up on the insert page) and be an admin (granted on successful login)  \n- On a successful login, SESSION data is stored as a superglobal for name and admin status. Notice that session_start() must be called on the login page (presumably this allows session data to be stored)    \n- The auth.php page check for this SESSION data and redirects users to the login page if it is not there  \n- The auth.php is then required at the top of every private page \n\n####Password Hashing \n- This involves two opposite function: `password_hash()` takes a password and returns a hash, while `password_verify()` takes a password and hash and checks if they match\n- only the hash is stored in the database  \n- password hashing is done on the insert form after form submission \n- password verification is done on login. Therefore, the hash for the account has to be retreived from the db  \n\n####Importing other files\n- `php` files can be imported with include or require. They are inserted into the file as they are.  \n- HTML files can be brought in with `readfile(*rel url*)`  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farwl2016%2Fphp-get-started-wenz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farwl2016%2Fphp-get-started-wenz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farwl2016%2Fphp-get-started-wenz/lists"}