- Borttaget
- Oregistrerad ●
- 2005-12-16 18:34
Jag bestämde mig i morse för att börja försöka lära mig hur PHP och MySQL fungerar istället som nu, bara konstatera att det fungerar. Därför har jag skrivit ett projekt att prova mig fram med. Filen view.php hämtar data från databasen och presenterar den. Filen edit.php innehåller ett formulär för att redigera informationen i databasen. Filen engine.php används av formuläret för att uppdatera databasen. Jag har skapat databasen red_db, som innehåller tabellen datatabell, som innehåller kolumnen datatext. I kolumnen är det tänkt att bara lagras en post som innehåller informationen som view.php ska presentera.
Så här ser view.php ut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict..."> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Redigerbar sida</title> </head> <body> <?php $link = mysql_connect('localhost', 'red_user', 'red_pass'); if (!$link) { die('Could not connect: ' . mysql_error()); } $result = mysql_query('SELECT datatext FROM red_db.datatabell'); if (!$result) { die('Could not query:' . mysql_error()); } echo mysql_result($result, 0); mysql_close($link); ?> <hr /> <p><a href="edit.php">Redigera sidan</a>.</p> </body> </html>
Så här ser edit.php ut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict..."> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Redigera sida</title> </head> <body> <?php $link = mysql_connect('localhost', 'red_user', 'red_pass'); if (!$link) { die('Could not connect: ' . mysql_error()); } $result = mysql_query('SELECT datatext FROM red_db.datatabell'); if (!$result) { die('Could not query:' . mysql_error()); } ?> <form method="post" action="engine.php"> <textarea name="textfield" rows="16" cols="80"><?php echo mysql_result($result, 0); ?></textarea> <br /> <br /> <input type="submit" id="submit" value="Ändra"> </form> <?php mysql_close($link); ?> <hr /> <p><a href="view.php">Visa sidan</a>.</p> </body> </html>
Så här ser engine.php ut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict..."> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Uppdatering sker</title> </head> <body> <?php $link = mysql_connect('localhost', 'red_user', 'red_pass'); if (!$link) { die('Could not connect: ' . mysql_error()); } mysql_query("UPDATE red_db.datatabell SET datatext = '$_POST[textfield]' ") or die('Could not query:' . mysql_error()); mysql_close($link); echo '<p>Uppdatering utförd.</p>'; ?> <hr /> <p><a href="view.php">Visa sidan</a>.</p> </body> </html>
Det fungerar precis som det ska. Informationen i databasen ändras. Å, ä och ö ser ut som de ska. Allt sådant fungerar. Men det känns lite onödigt att inställningarna för databasen, användarnamnet och lösenordet ska finnas i alla filer. Därför skulle jag vilja skapa en fil som heter t ex config.php som jag har alla inställningar i. Men hur gör jag det?