Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Feedback form
/* PERFECT PHP - centerkey.com/php - MIT or WTFPL (your choice) */
/* PERFECT style */
form.perfect { max-width: 25em; background-color: whitesmoke; color: dimgray; border: 1px solid; border-radius: 2px; padding: 20px; margin: 0px auto 20px auto; }
form.perfect h2 { font-size: 1.2rem; text-align: center; color: white; padding: 0.3em; margin: -20px -20px 20px -20px; clear: none; }
form.perfect fieldset { border: none; padding: 0px; margin: 0px; }
form.perfect label { display: block; }
form.perfect input:not([type=checkbox]):not([type=radio]), form.perfect textarea { width: 100%; max-width: 100%; font-size: 1.2rem; margin: 0px 0px 15px 0px; -webkit-appearance: none; }
form.perfect input[type=checkbox], form.perfect input[type=radio] { font-size: 1.2rem; margin: 0px 0.5em 0.2em 1.5em; }
form.perfect label:last-of-type input { margin-bottom: 20px; }
form.perfect select { font-size: 1.2rem; }
form.perfect textarea { height: 4.1em; }
form.perfect input, form.perfect textarea { box-sizing: border-box; border: 1px solid silver; border-radius: 5px; padding: 0.3em; }
form.perfect p { display: flex; justify-content: space-between; align-items: flex-end; margin: 0px; }
form.perfect p button { font-size: 1.1rem; font-weight: bold; color: white; background-color: dimgray; border: none; border-radius: 0.4em; padding: 0.6em 1.2em; margin-bottom: 0px; cursor: pointer; transition: background-color 0.4s; }
form.perfect p button:hover { background-color: black; }
form.perfect p span { font-size: 0.6rem; color: gray; }
form.perfect p span a { color: gray; background-color: transparent; text-decoration: none; border: none; outline: none; }
/* PERFECT colors */
form.perfect { border-color: seagreen; } /* outer color */
form.perfect h2 { background-color: seagreen; } /* outer color */
form.perfect input, form.perfect textarea { background-color: mintcream; } /* input fields */
<form class=perfect>
<h2>Send us a message</h2>
<label>
<span>Message:</span>
<textarea name=message placeholder="Enter your message"></textarea>
</label>
<label>
<span>Name:</span>
<input name=name placeholder="Enter your name">
</label>
<label>
<span>Email:</span>
<input name=email type=email placeholder="Enter your email">
</label>
<p>
<span>Powered by <a href=http://centerkey.com/php>PERFECT</a></span>
<button type=submit>Send</button>
</p>
</form>
<script src=https://cdn.jsdelivr.net/jquery/3.2/jquery.min.js></script>
<script>
$('form.perfect').attr({ method: 'post', action: 'perfect.php' });
</script>
<?php
//////////////////////////////////////////////////////////
// PERFECT PHP //
// v2.0.3 (August 25, 2017) //
// Process a web form to extract the user input and //
// then email the data to a predefined recipient. //
// MIT or WTFPL (your choice) //
// http://centerkey.com/php //
//////////////////////////////////////////////////////////
// Configuration settings
$sendFrom = "Form Feedback <feedback@yourdomain.com>";
$sendTo = "feedback@yourdomain.com";
$subjectLine = "Feedback Submission";
$thanksUrl = "thanks.html"; //confirmation page
// Build message body from web form input
$body = "";
foreach ($_POST as $field=>$value)
$body .= "$field: $value\n";
$body .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]);
$body = htmlspecialchars($body, ENT_NOQUOTES); //make safe
// Send email and direct browser to confirmation page
mail($sendTo, $subjectLine, $body, "From: $sendFrom");
header("Location: $thanksUrl");
?>
#!/bin/sh
###############
# PERFECT PHP #
###############
# To make this file runnable:
# $ chmod +x *.sh.command
projectHome=$(cd $(dirname $0); pwd)
webPath=centerkey.com/php
publish() {
cd $projectHome
pwd
echo
publishWebRoot=$(grep ^DocumentRoot /private/etc/apache2/httpd.conf | awk -F\" '{ print $2 }')
publishFolder=$publishWebRoot/$webPath
copyFiles() {
echo "Copying:"
cp -v *.css *.html *.php $publishFolder
mv -v $publishFolder/perfect.html $publishFolder/perfect.html.txt
}
test -w $publishFolder && copyFiles
echo
}
gistReminder() {
echo "Checkin (git push):"
echo " Push commits from the command line using a personal access"
echo " token (github.com --> Settings) for the password."
echo
}
launchBrowser() {
url=http://localhost/$webPath
echo "Opening:"
echo $url
sleep 2
open $url
echo
}
echo
echo "Publish PERFECT PHP"
echo "==================="
publish
gistReminder
launchBrowser
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment