PHPExperience.nl

› 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_handlefilesize($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 
"| &copy; 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&amp;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.


› Reacties op dit script (3)

Plaats een reactie

Reacties ordenen
De reacties bovenaan weergeven.

Dit bericht is 6 uur geleden of later geplaatst Reactie van Remy op 23-05-2005 21:10
Erg mooi gescript, denk dat me dit weleens handig van pas kan komen!

Dit bericht is 6 uur geleden of later geplaatst Reactie van flashin op 27-05-2005 23:35
1 Je houdt van functies?
- oftwel, waarom 3 installatie functies
- en, waarom alles in functies?
- waarom echo'en en niet returnen?
2 MySQL
- waarom al die connecties
- mysql_fetch_object()?
- 'hack'baarheid ?

Dit bericht is 6 uur geleden of later geplaatst Reactie van Luigjes op 25-01-2007 15:39
Zo, ik deed een google query op mezelf en zag dit ineens, na 2 jaar wel grappig om te zien hoe ik ben gevorderd in het programmeren. Nog steeds funtiegek, maar een veel betere aanpak. OOP is nog steeds shit!

Plaats een reactie



Leden
Welkom Gast!

Registreren
Inloggen
Wachtwoord vergeten
Account activeren
Ledenlijst


Actieve topics
Topic 11/07 PHP spatie h...
Topic 25/05 website
Topic 07/05 Nieuw topic!
Poll 07/05 AANSTOTELIJK...
Topic 13/01 Geluid!
Topic 28/08 TroppoCity.n...
Mededeling 27/08 Overzicht Be...
Topic 15/08 PHP Scripter...
Mededeling 27/05 Overzicht gr...
Topic 30/03 unexpected T...

Actieve topics
Topic tracker
Zoeken


Linkpartners
Interhit
PHPFreaky
Shootnshop.nl
Tweakomatic.nl
Web-resource.nl
Webmensen
Webscripters
WmCity


Overige
Crew
Nieuwsarchief
Statistieken
Veel gestelde vragen
Bugs rapporteren