Hoe om dynamische webpagina's te maken met behulp van PHP en MySQL

Hoe om dynamische webpagina's te maken met behulp van PHP en MySQL


U kunt de programmeertaal PHP en het database management systeem MySQL gebruiken om dynamische webinhoud wijzigingen van de behoeften van de gebruiker aangepast bouwen. Deze tutorial laat zien hoe een eenvoudige pagina die toont hoe vaak een gebruiker eerder de pagina heeft bezocht te creëren.

instructies

Het opzetten van de MySQL database

1 Maak een database op uw MySQL server als je niet al een hebt dat je van plan bent om te gebruiken. De volgende MySQL commando kan worden gebruikt om een ​​database "voorbeelden" maken:

CREATE DATABASE examples

2 Een tabel in de database om het aantal keren dat een gebruiker heeft bezocht slaan. Gebruik een veld met de naam "id" als de primaire sleutel tot individuele gebruikers te identificeren. Gebruik een veld met de naam "bezoeken" om bij te houden hoe vaak de gebruiker de pagina heeft bezocht te houden. De volgende opdracht maakt een tabel met de naam "dynamicphpmysql."

CREATE TABLE examples . dynamicphpmysql (

id INT NOT NULL AUTO_INCREMENT primaire sleutel

visits INT NOT NULL

) MOTOR = MyISAM

3 Maak, als u dat nog niet hebt gedaan, een MySQL gebruiker op de server die de nodige privileges in de database heeft. Voor dit voorbeeld zullen u zo minimaal SELECT, UPDATE en INSERT privileges nodig.

Bouw de PHP-code

4 Maak een PHP-bestand. Noem het wat je wilt, zolang het eindigt met ".php.". Bijvoorbeeld, kon u het bestand een naam "dynamic.php." Open het met uw tekst editor.

5 Roep de functie session_start (). U zal worden met behulp van een sessie bij te houden van de gebruikers over meerdere bezoeken te houden, dus bel deze functie voor het verzenden van alle andere gegevens aan de gebruiker webbrowser. Vergeet niet om alle PHP binnen de labels omsluiten "<? ' en ">" en aan elke command line met een puntkomma te beëindigen.

<?

session_start ();

?>

6 Maak een functie die een verbinding met de MySQL-server wordt geopend en selecteert de juiste database te manipuleren (in dit geval "voorbeelden"). In dit voorbeeld is het adres van de server is "localhost" en de gebruikersnaam en het wachtwoord voor toegang tot de server zijn "username" en "password", respectievelijk. De functie geeft een link naar de MySQL-verbinding.

functioneren dbConnect ()

{

$dbc = mysql_connect("localhost","username","password");

mysql_select_db ( "voorbeelden");

terug $ dbc;

}

7 Maak een functie die de hoogste waarde voor "id", dat momenteel in de tabel bestaat terugkeert.

functioneren getMaxId ()

{

$dbc = dbConnect();

$ Vraag = mysql_query ( "SELECT MAX (id) FROM` dynamicphpmysql` ");

$ Resultaten = mysql_fetch_array ($ vraag);

$ NEW_ID = $ results [ 'MAX (id)'];

mysql_close ($ dbc);

terug $ NEW_ID;

}

8 Een functie die een rij toevoegt aan de tafel, waardoor een nieuwe gebruiker in de database. U wilt ook deze functie kunt u de ID van de nieuwe gebruiker terug te keren.

functie NEWID ()

{

$dbc = dbConnect();

mysql_query ( "INSERT INTO dynamicphpmysql (bezoekers) WAARDEN (0)");

mysql_close ($ dbc);

$ NEW_ID = getMaxId ();

terug $ NEWID;

}

9 Een functie van het aantal bezoeken voor de bezochte gebruiker verhogen.

functie newVisit ($ id)

{

$dbc = dbConnect();

mysql_query ( "UPDATE dynamicphpmysql SET` visits` = `visits` + 1 WHERE id = $ id");

$ Result = mysql_query ( "SELECT` visits` FROM dynamicphpmysql WHERE `id` = $ id");

$ NEW_COUNT = mysql_result ($ result, 0);

mysql_close ($ dbc);

terug $ NEW_COUNT;

}

10 Schrijf een "if" structuur die controleert of de gebruiker de pagina reeds eerder bezocht. Als de gebruiker de pagina niet heeft bezocht, maakt u een ID voor de nieuwe gebruiker en het scherm voor de pagina dat dit eerste bezoek van de gebruiker. Als de gebruiker de pagina heeft bezocht, vertelt de gebruiker hoe vaak hij al de pagina heeft bezocht.

if (! isset ($ _ SESSION [ 'id']))

{

newid();

$ _SESSION [ 'Id'] = getMaxId ();

echo "Dit is je eerste bezoek aan deze pagina.";

}anders{

$num_visits = newVisit($_SESSION['id']);

echo "Je hebt deze pagina $ NUM_VISITS keer eerder bezocht.";

}

11 Controleer uw code op fouten. Upload de PHP-bestand naar uw server en ga naar het in uw browser. Elke keer dat u de pagina vernieuwen, moet het u vertellen hoe vaak je eerder de webpagina hebben bezocht. Als er iets niet klopt, double-check uw code tegen de volledige code voorbeeld:

<?

session_start ();

functioneren dbConnect ()

{

$dbc = mysql_connect("localhost","username","password");

mysql_select_db ( "voorbeelden");

terug $ dbc;

}

functioneren getMaxId ()

{

$dbc = dbConnect();

$ Vraag = mysql_query ( "SELECT MAX (id) FROM` dynamicphpmysql` ");

$ Resultaten = mysql_fetch_array ($ vraag);

$ NEW_ID = $ results [ 'MAX (id)'];

mysql_close ($ dbc);

terug $ NEW_ID;

}

functie NEWID ()

{

$dbc = dbConnect();

mysql_query ( "INSERT INTO dynamicphpmysql (bezoekers) WAARDEN (0)");

mysql_close ($ dbc);

$ NEW_ID = getMaxId ();

terug $ NEWID;

}

functie newVisit ($ id)

{

$dbc = dbConnect();

mysql_query ( "UPDATE dynamicphpmysql SET` visits` = `visits` + 1 WHERE id = $ id");

$ Result = mysql_query ( "SELECT` visits` FROM dynamicphpmysql WHERE `id` = $ id");

$ NEW_COUNT = mysql_result ($ result, 0);

mysql_close ($ dbc);

terug $ NEW_COUNT;

}

if (! isset ($ _ SESSION [ 'id']))

{

newid();

$ _SESSION [ 'Id'] = getMaxId ();

echo "Dit is je eerste bezoek aan deze pagina.";

}anders{

$num_visits = newVisit($_SESSION['id']);

echo "Je hebt deze pagina $ NUM_VISITS keer eerder bezocht.";

}

?>

Hints

  • Bij het oplossen van code, echo de inhoud van variabelen op de pagina om ervoor te zorgen dat ze worden goed gebruikt en houd de juiste waarden.
  • de officiële website van PHP zijn er talloze voorbeelden voor elke ingebouwde functie.
  • Zorg ervoor dat de MySQL gebruiker door middel waarmee u verbinding maakt met de database beschikt over de juiste rechten uit te voeren alle van de MySQL-commando's die u nodig heeft voor uw toepassing.
  • Als u niet aan de functie session_start () voorafgaand aan elke echo functies of gewone HTML naar de gebruiker te zetten, zal PHP niet aan de sessie.