Links til spændende sites..



PHP snippets

Hvordan at INSERT til en database part II

www.forbindelse.dk - forsiden

Okay. Så på den sidste side viste jeg dig hvordan at læse input fra en FORM fra en HTML side. Og jeg viste hvordan at skrive det til en database. Nu vil jeg så vise hvordan du får det hele til at ske i en enkelt fil. Det gør tingene en smule nemmere, og mindre rodet. Tag hele den følgende kode (både HTML og PHP koderne), og indsæt det i en fil med navnet "mynewpage.php".

<?php
if (isset($_POST['readme'])) { 
doread(); 
} 

function doread() { 

// Here we read the inputs from the Form 
$Firstname = $_POST['firstname']; 
$Lastname = $_POST['lastname']; 
$EmailAddr = $_POST['emailaddr']; 
$WebAddr = $_POST['webaddr']; 

// Now lets connect to the database 
$con = mysqli_connect('127.0.0.1', 'root', 'Your_Password', 'dbname'); 

if (mysqli_connect_errno()) { 
echo "Error connecting to DB"; 
} 

// Here we compose the SQL string 
$SQL_String = "INSERT INTO contacts 
(Lastname, Firstname, EmailAddr, WebAddr) 
VALUES ('$Lastname', '$Firstname', '$EmailAddr', '$WebAddr')"; 

// Execute the query – write to the DB 
$dostuff = mysqli_query($con, $SQL_String); 

if(! $dostuff ) { 
echo 'Error in executing query'; 
exit(); 
} 

mysqli_close ($con); 
echo 'Success, you have now written a row to your table'; 

} 
?> 
Ja! Det er så simpelt.
Den samme kode, jeg har kun ændret nogle få ting. For det første, som du kan se, i begyndelsen gør vi brug af "isset". Dette vil blive brugbart senere, når vi vil have flere ting til at foregå, på samme side. Du har sikkert set sider med flere end een submit knap. Såsom en "Skriv" og en "Tilret". Disse gør brug af samme <FORM>, men to seperate knapper. Så her, øverst i dokumentet kalder vi en funktion afhængigt af hvilken submit der blev trykket af bruger. Det forefår sådan:
if (isset($_POST['readme'])) { 
doread(); 
} 
Alt der sker her er at vi tjekker om det var knappen med navnet "readme" der kaldte vores script. Hvis det var den så kalder vi funktionen "doread", Så vi lavede en lille ændring HTML FORM'en;
Navngivning af submit knappen, så vi nu kan genkende hvilken knap der blev klikket. Bemærk også at ACTION i <FORM> nu peger på siden selv. Altså, vi har samlet al den eksisterende PHP kode ind i een funktion. Dette gøres ved at placere det imellem to krøllede parenteser. Det ser sådan ud:
function doread() {
//.. all our code for this submit here ..
}
På næste side vil jeg vise hvordan at læse dine nylight skrevne input fra databasen.