Hvordan å lage dynamiske websider ved hjelp av PHP og MySQL

Hvordan å lage dynamiske websider ved hjelp av PHP og MySQL


Du kan bruke programmeringsspråket PHP og database management system MySQL til å bygge dynamisk webinnhold som endres for å dekke behovene til brukeren. Denne veiledningen viser hvordan å lage en enkel side som viser hvor mange ganger en bruker har tidligere besøkt siden.

Bruksanvisning

Sett opp MySQL Database

1 Opprett en database på MySQL server hvis du ikke allerede har en som du planlegger å bruke. Følgende MySQL-kommandoen kan brukes til å opprette en database som heter "eksempler":

CREATE DATABASE examples

2 Lag en tabell på databasen for å lagre antall ganger en bruker har besøkt. Bruk et felt som heter "id" som primærnøkkel for å identifisere individuelle brukere. Bruk et felt som heter "besøk" for å holde styr på hvor mange ganger brukeren har besøkt siden. Følgende kommando oppretter en tabell som heter "dynamicphpmysql."

CREATE TABLE examples . dynamicphpmysql (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

visits INT NOT NULL

) MOTOR = MyISAM

3 Lag, hvis du ikke allerede har gjort det, en MySQL bruker på serveren som har de nødvendige rettigheter i databasen. For dette eksempelet, vil du trenger som minst SELECT, UPDATE og INSERT privilegier.

Bygg PHP-koden

4 Lag en PHP-fil. Name it noe du liker, så lenge det ender med "php.". For eksempel kan du navnet på filen "dynamic.php." Åpne den med en teksteditor.

5 Ring session_start () -funksjonen. Du skal bruke en økt for å holde orden på brukere over flere besøk, så kaller denne funksjonen før du sender andre data til brukerens nettleser. Husk å legge ved all PHP innenfor kodene "<?" og "?>", og å avslutte hver kommandolinje med semikolon.

<?

session_start ();

?>

6 Lag en funksjon som åpner en tilkobling til MySQL server og velger riktig database for å manipulere (i dette tilfellet "eksempler"). I dette eksempelet er serverens adresse "localhost", og brukernavn og passord for å få tilgang til serveren er "brukernavn" og "passord", henholdsvis. Funksjonen returnerer en link til MySQL-tilkoblingen.

fungere dbConnect ()

{

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

mysql_select_db ( "eksempler");

returnere $ DBC;

}

7 Lag en funksjon som returnerer den høyeste verdien for "id" som i dag finnes i tabellen.

fungere getMaxId ()

{

$dbc = dbConnect();

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

$ resultater = mysql_fetch_array ($ query);

$ New_id = $ resultater [ 'MAX (id)'];

mysql_close ($ DBC);

returnere $ new_id;

}

8 Lag en funksjon som legger en rad i tabellen, og dermed skape en ny bruker i databasen. Du ønsker også denne funksjonen til å returnere ID på den nye brukeren.

funksjon newId ()

{

$dbc = dbConnect();

mysql_query ( "INSERT INTO dynamicphpmysql (besøk) VERDIER (0)");

mysql_close ($ DBC);

$ New_id = getMaxId ();

returnere $ newid;

}

9 Lag en funksjon for å øke antall besøk for tiden besøker brukeren.

funksjon newVisit ($ id)

{

$dbc = dbConnect();

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

$ Resultat = mysql_query ( "SELECT` visits` Fra dynamicphpmysql WHERE `id` = $ id");

$ NEW_COUNT = mysql_result ($ resultat, 0);

mysql_close ($ DBC);

returnere $ NEW_COUNT;

}

10 Skriv en "hvis" struktur som sjekker om brukeren allerede har besøkt siden før. Hvis brukeren ikke har besøkt siden, opprette en ID for den nye brukeren og vise til siden som dette er brukerens første besøk. Hvis brukeren har besøkt siden, fortelle brukeren hvor mange ganger han allerede har besøkt siden.

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

{

newid();

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

echo "Dette er ditt første besøk på denne siden.";

}ellers{

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

echo "Du har besøkt denne siden $ NUM_VISITS ganger før.";

}

11 Sjekk din kode for feil. Last opp PHP-filen til serveren din, og gå til den i nettleseren din. Hver gang du oppdaterer siden, bør den fortelle deg hvor mange ganger du tidligere har besøkt websiden. Hvis noe ikke er riktig, dobbeltsjekke koden din mot komplett kodeeksempel:

<?

session_start ();

fungere dbConnect ()

{

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

mysql_select_db ( "eksempler");

returnere $ DBC;

}

fungere getMaxId ()

{

$dbc = dbConnect();

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

$ resultater = mysql_fetch_array ($ query);

$ New_id = $ resultater [ 'MAX (id)'];

mysql_close ($ DBC);

returnere $ new_id;

}

funksjon newId ()

{

$dbc = dbConnect();

mysql_query ( "INSERT INTO dynamicphpmysql (besøk) VERDIER (0)");

mysql_close ($ DBC);

$ New_id = getMaxId ();

returnere $ newid;

}

funksjon newVisit ($ id)

{

$dbc = dbConnect();

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

$ Resultat = mysql_query ( "SELECT` visits` Fra dynamicphpmysql WHERE `id` = $ id");

$ NEW_COUNT = mysql_result ($ resultat, 0);

mysql_close ($ DBC);

returnere $ NEW_COUNT;

}

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

{

newid();

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

echo "Dette er ditt første besøk på denne siden.";

}ellers{

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

echo "Du har besøkt denne siden $ NUM_VISITS ganger før.";

}

?>

Hint

  • Når debugging kode, ekko innholdet i variablene over på siden for å sikre at de blir brukt riktig og holde de riktige verdiene.
  • PHP her vert mange eksempler for hver innebygd funksjon.
  • Vær sikker på at MySQL bruker som du kobler til databasen har de riktige tillatelsene til å utføre alle de MySQL kommandoene du trenger for din søknad.
  • Hvis du ikke klarer å sette session_start () -funksjonen i forkant av eventuelle ekko funksjoner eller vanlig HTML sendes til brukeren, vil PHP klarer å skape økt.