
› Scripts › Collectie functies voor een complete site
|
|
PHP & MySQL › Collectie functies voor een complete site
|
|
Geplaatst op: 10-05-2005 16:13 / Auteur: Luigjes / 4595 keer bekeken
|
Deze functies samen kunnen gebruikt worden voor een compleet website systeem, ik heb het geheel getest, en alles leek goed te werken, ik heb door het hele bestand commentaar gezet ter verduidelijking.
Alle vragen die je hebt kun je aan mij stellen, dan kan ik je ermee helpen...
Success!
|
<?php
/*
Auteur: Tom Luigjes
Website: http://www.luigjes.org
Met dit stuk code heb je eigenlijk al een geheel website systeem,
er moet nog wel het een ander aangepast worden.
Qua code kan het haast niet korter en netter.
Je kan eventueel nog een lege velden check maken voor de 'toevoeg'-functie:
i.p.v.:
-----------
if(isset($_POST['submit'])) {
$vraag = "INSERT INTO tabel (veld1, veld2) VALUES ('$veld1', '$veld2')";
$resultaat = mysql_query($vraag);
}
-----------
[ regel 42 tot en met 45 ]
-----------
if(isset($_POST['submit'])) {
if (empty($_POST['veld1']) || empty($_POST['veld2'])) {
echo "Foutje, je hebt niet alle velden ingevuld...";
}
$vraag = "INSERT INTO tabel (veld1, veld2) VALUES ('$veld1', '$veld2')";
$resultaat = mysql_query($vraag);
}
-----------
Veel plezier met deze code!
*/
error_reporting(E_ALL); // Deze regel staat erin om de fouten te laten zien en is alleen bedoeld voor de ontwikkeling van dit stuk code, kan veilig verwijderd worden.
//=========================================================================
// Functie CONNECTIE
//=========================================================================
function connectie() {
$db = mysql_connect ("localhost", "root", "");
mysql_select_db ("",$db);
}
//=========================================================================
// Functie TOEVOEGEN
//=========================================================================
function toevoegen() {
connectie();
if(isset($_POST['submit'])) {
$vraag = "INSERT INTO tabel (veld1, veld2) VALUES ('".$_POST['veld1']."', '".$_POST['veld2']."')";
$resultaat = mysql_query($vraag);
}
else {
echo "<form method=\"post\" action=\"\">"; // action staat erbij voor correcte XHTML.
echo "Veld1:<br />";
echo "<input type=\"text\" name=\"veld1\" /><br />";
echo "Veld2:<br />";
echo "<input type=\"text\" name=\"veld2\" /><br />";
echo "<input type=\"submit\" name=\"submit\" value=\"Voeg toe!\" />";
echo "</form>";
}
}
//=========================================================================
// Functie BEWERK
//=========================================================================
function bewerk($id) {
connectie();
if(isset($_POST['submit'])) {
$vraag = "UPDATE tabel SET veld1='".$_POST['veld1']."', veld2='".$_POST['veld2']."' WHERE id='$id'";
$resultaat = mysql_query($vraag);
}
else {
$vraag = "SELECT * FROM tabel WHERE id='$id'";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
echo "<form method=\"post\" action=\"\">";
echo "<input type=\"hidden\" name=\"id\" value=\"$rij->id\" />";
echo "Veld1:<br />";
echo "<input type=\"text\" name=\"veld1\" value=\"$rij->veld1\" /><br />";
echo "Veld2:<br />";
echo "<input type=\"text\" name=\"veld2\" value=\"$rij->veld2\" /><br />";
echo "<input type=\"submit\" name=\"submit\" value=\"Bewerk!\" />";
echo "</form>";
}
}
}
//=========================================================================
// Functie DETAIL
// Hieronder gebruik ik object, daarvoor in de plaats kan je natuurlijk ook array gebruiken.
// Dat doe je zo:
// while($rij = mysql_fetch_array($resultaat)) {
// echo $rij['veld1'];
// echo $rij['veld2'];
// }
//=========================================================================
function detail($id) {
connectie();
$vraag = "SELECT * FROM tabel WHERE id='$id'";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
echo $rij->veld1;
echo "<br />";
echo $rij->veld2;
echo "<br />";
echo "<a href=\"genereer.php?id=$rij->id\" title=\"$rij->veld1\">Genereer .txt bestand</a>";
commentaar($rij->id);
}
}
//=========================================================================
// Functie GENERATIE
// Functie voor de generatie van een .txt bestand van een bestaand artikel
//=========================================================================
function generatie($id) {
connectie();
$vraag = "SELECT * FROM tabel WHERE id='$id'";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
$data = "<b>$rij->veld1</b><br />$rij->veld2";
$bestand = "tijdelijk.txt";
if (!$bestand_handle = fopen($bestand,"a")) {
echo "Kan bestand niet openen!";
}
if (!fwrite($bestand_handle, $data)) {
echo "Kan niet schrijven naar bestand!";
}
if (!$bestand_handle = fopen($bestand,"r")) {
echo "Kan bestand niet openen!";
}
if (!$bestand_inhoud = fread($bestand_handle, filesize($bestand))) {
echo "Kan de inhoud niet ophalen!";
}
else {
echo "$bestand_inhoud";
}
fclose($bestand_handle);
if (!(unlink($bestand))) {
echo "Fout tijdens het saven van: $bestand<br>";
}
else {
echo "<br />------------------------------------<br />";
echo "| © 2005 Tom Luigjes, Luigjes.org |";
echo "<br />------------------------------------";
}
}
}
//=========================================================================
// Functie COMMENTAAR
//=========================================================================
function commentaar($id) {
connectie();
$vraag = "SELECT * FROM tabel_commentaar WHERE tabel_id='$id'";
$resultaat = mysql_query($vraag);
while($com = mysql_fetch_object($resultaat)) {
echo "<br />";
echo $com->com1;
echo "<br />";
echo $com->com2;
echo "<br />";
}
if(isset($_POST['submit'])) {
$vraag = "INSERT INTO tabel_commentaar (tabel_id, com1, com2) VALUES ('".$_POST['tabel_id']."', '".$_POST['com1']."', '".$_POST['com2']."')";
$resultaat = mysql_query($vraag);
}
else {
echo "<form method=\"post\" action=\"\">";
echo "<input type=\"hidden\" name=\"tabel_id\" value=\"".$_GET['id']."\" />";
echo "Com1:<br />";
echo "<input type=\"text\" name=\"com1\" /><br />";
echo "Com2:<br />";
echo "<input type=\"text\" name=\"com2\" /><br />";
echo "<input type=\"submit\" name=\"submit\" />";
echo "</form>";
}
}
//=========================================================================
// Functie INDEX
// Hieronder gebruik ik object, daarvoor in de plaats kan je natuurlijk ook array gebruiken.
// Dat doe je zo:
// while($rij = mysql_fetch_array($resultaat)) {
// echo "<a href=\"detail.php?id=\"".$rij['id']."\">".$rij['veld1']."</a>";
// }
// Zoals je wel kunt zien is de object methode makkelijker in gebruik...
//=========================================================================
function index() {
connectie();
$vraag = "SELECT * FROM tabel";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
echo "<a href=\"?act=detail&id=$rij->id\">$rij->veld1</a><br />";
}
}
//=========================================================================
// Functie VERWIJDER
//=========================================================================
function verwijder($id) {
connectie();
$vraag = "DELETE FROM tabel WHERE id='$id'";
$resultaat = mysql_query($vraag);
}
//=========================================================================
// Functie ZOEKEN
//=========================================================================
function zoeken() {
connectie();
if(isset($_POST['submit'])) {
$vraag = "SELECT * FROM tabel WHERE ".$_POST['type']." LIKE '%".$_POST['vulin']."%'";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
echo $rij->veld1;
echo "<br />";
echo $rij->veld2;
}
}
else {
echo "<form method=\"post\" action=\"\">";
echo "Zoekopdracht:<br />";
echo "<input type=\"text\" name=\"vulin\" /><br />";
echo "<select name=\"type\">";
echo "<option name=\"veld1\">veld1</option>";
echo "<option name=\"veld2\">veld2</option>";
echo "</select><br />";
echo "<input type=\"submit\" name=\"submit\" value=\"Zoek!\" />";
echo "</form>";
}
}
//=========================================================================
// Functie AANMELDEN
// Niet super veilig, maar kan gebruikt worden ter herkenning
// van leden, daarvoor gebruiken wij het ook.
//=========================================================================
function aanmelden() {
connectie();
if(!$_SESSION['sessie_id']) {
if(isset($_POST['submit'])) {
/*
We gebruiken uiteraard md5 om de wachtwoorden te coderen, zodat hacken moeilijker word...
*/
$wachtwoord = md5($_POST['wachtwoord']);
$vraag = "INSERT INTO leden (naam, gebruikersnaam, wachtwoord, email) VALUES ('".$_POST['naam']."', '".$_POST['gebruikersnaam']."', '$wachtwoord', '".$_POST['email']."')";
$resultaat = mysql_query($vraag);
}
else {
echo "<form method=\"post\" action=\"\">";
echo "Naam:<br />";
echo "<input type=\"text\" name=\"naam\" /><br />";
echo "E-Mail Adres:<br />";
echo "<input type=\"text\" name=\"email\" /><br />";
echo "Gebruikersnaam:<br />";
echo "<input type=\"text\" name=\"gebruikersnaam\" /><br />";
echo "Wachtwoord:<br />";
echo "<input type=\"password\" name=\"wachtwoord\" /><br />";
echo "<input type=\"submit\" name=\"submit\" />";
echo "</form>";
}
}
else {
echo "Je bent al ingelogd... ".$_SESSION['sessie_naam'];
}
}
//=========================================================================
// Functie INLOGGEN
// Niet super veilig, maar kan gebruikt worden ter herkenning
// van leden, daarvoor gebruiken wij het ook.
//=========================================================================
function inloggen() {
connectie();
if(!$_SESSION['sessie_id']) {
if(isset($_POST['submit'])) {
$vraag = "SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'";
$resultaat = mysql_query($vraag);
$rij = mysql_fetch_object($resultaat);
$wachtwoord = md5($_POST['wachtwoord']);
if($_POST['gebruikersnaam'] = $rij->gebruikersnaam && $wachtwoord = $rij->wachtwoord) {
/*
Zet de sessies, zodat deze later gebruikt kunnen worden voor herkenning bij het plaatsen van bijvoorbeeld commentaar...
*/
$_SESSION['sessie_id'] = $rij->id;
$_SESSION['sessie_gb'] = $rij->gebruikersnaam;
$_SESSION['sessie_naam'] = $rij->naam;
$_SESSION['sessie_email'] = $rij->email;
echo "Je bent ingelogd".$_SESSION['sessie_gb'];
}
else {
echo "De gegevens kloppen niet, probeer het nog eens...";
}
}
else {
echo "<form method=\"post\" action=\"\">";
echo "Gebruikersnaam:<br />";
echo "<input type=\"text\" name=\"gebruikersnaam\" /><br />";
echo "Wachtwoord:<br />";
echo "<input type=\"password\" name=\"wachtwoord\" /><br />";
echo "<input type=\"submit\" name=\"submit\" />";
echo "</form>";
}
}
else {
echo "Je bent al ingelogd!".$_SESSION['sessie_naam'];
}
}
//=========================================================================
// Functie UITLOGGEN
// Het bleek dat session_unset() voldeed om uit te loggen
// session_destroy() is dus hierbij niet nodig.
//=========================================================================
function uitloggen() {
unset($_SESSION['sessie_id']);
unset($_SESSION['sessie_naam']);
unset($_SESSION['sessie_gb']);
unset($_SESSION['sessie_email']);
echo "Successvol uitgelogd!";
}
//=========================================================================
// Functie LEDENLIJST
// Nog niet helemaal af, komt binnenkort sorteer functie op,
// wat betekent dat je kan sorteren op bijvoorbeeld naam of email.
//=========================================================================
function ledenlijst() {
connectie();
$vraag = "SELECT * FROM leden ORDER BY naam ASC";
$resultaat = mysql_query($vraag);
while($rij = mysql_fetch_object($resultaat)) {
echo $rij->naam;
echo $rij->email;
echo $rij->gebruikersnaam;
}
}
//=========================================================================
// Functie INSTALLEER
//=========================================================================
function installeer() {
connectie();
if(isset($_POST['submit'])) {
$tabel = "CREATE TABLE tabel (
id INT NOT NULL AUTO_INCREMENT,
veld1 varchar(100) NOT NULL,
veld2 varchar(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE veld1 (veld1)
)TYPE=MyISAM;";
$resultaat = mysql_query($tabel);
}
else {
echo "<form method=\"post\" action=\"\">"; // action staat erbij voor correcte XHTML.
echo "<input type=\"submit\" name=\"submit\" value=\"Stap 2\" />";
echo "</form>";
}
}
//=========================================================================
// Functie INSTALLEER2
//=========================================================================
function installeer2() {
connectie();
if(isset($_POST['submit'])) {
$tabel = "CREATE TABLE tabel_commentaar (
id INT NOT NULL AUTO_INCREMENT,
tabel_id INT NOT NULL,
com1 varchar(100) NOT NULL,
com2 varchar(100) NOT NULL,
PRIMARY KEY (id)
)TYPE=MyISAM;";
$resultaat = mysql_query($tabel);
}
else {
echo "<form method=\"post\" action=\"\">";
echo "<input type=\"submit\" name=\"submit\" value=\"Stap 3\" />";
echo "</form>";
}
}
//=========================================================================
// Functie INSTALLEER3
//=========================================================================
function installeer3() {
connectie();
if(isset($_POST['submit'])) {
$tabel = "CREATE TABLE leden (
id INT NOT NULL AUTO_INCREMENT,
naam varchar(100) NOT NULL,
email varchar(100) NOT NULL,
gebruikersnaam varchar(100) NOT NULL,
wachtwoord varchar(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE gebruikersnaam (gebruikersnaam)
)TYPE=MyISAM;";
$resultaat = mysql_query($tabel);
}
else {
echo "<form method=\"post\" action=\"\">";
echo "<input type=\"submit\" name=\"submit\" value=\"Laatste stap\" />";
echo "</form>";
}
}
?>
|
|
|

› Waardering
|
|
Op dit moment is er 4 keer gestemd op dit onderwerp. De gemiddelde score is 2.3.
Je kunt niet stemmen omdat je al gestemd hebt of omdat je niet bent ingelogd.
|
|
|   Leden | |   Actieve topics | |   Linkpartners | |   Overige | | |