Äldre Nyare
08-12-2010 13:02:00 . . . . 174.21.112.78.rev.sfr.net


Redigeringar av senaste författaren:

Added:
En snabb guide till hur du skickar data från ett formulär och tar emot det i php för att sedan skicka in det i databasen(MySQL).

Jag tar formuläret först vilket skapas genom vanligt [HTML].
<code>
<form action="" method="post">
First name
<input type="text" name="firstname">
<br>
Last name
<input type="text" name="lastname">
<input type="submit" name="sent" value="Skicka" >
</form>
</code>

Nu har du ett formulär som du kan skriva för och efternamn i, sedan trycka på knappen "skicka"
När du fyllt i värderna i fälten och trycker på "skicka" så skickas formuläret till det som anges i action, nu är det satt till tomt så det kommer skickas till samma fil som skriptet heter.
Dvs om din fil som du har koden i heter index.php så skickas datan till index.php.
Du kan ändra action och sätta t.ex ta_emot_form.php så skickas datan dit.

Nu trycker du på "skicka", sidan laddas om och nu har du formulär data liggandes i en php superglobal som heter [$_POST]

Nu gör vi nästa del, alltså php delen.
Det som vi måste göra är att ta emot de data som skickas, som jag sa tidigare kommer infon att hamna i $_POST.
Här har du en kod som du kan testa och se vad som händer.
<code>
<?php

if(isset($_POST['sent'])){

echo '<pre>';
print_r($_POST);
echo '</pre>';

else{
// Visa fomuläret igen
?>
<form action="" method="post">
First name
<input type="text" name="firstname">
<br>
Last name
<input type="text" name="lastname">
<input type="submit" name="sent" value="Skicka" >
</form>
</code>
Om du fyller i formuläret och skickar det så kommer det komma upp något liknande detta;
''Array
(
[firstname] =>
[lastname] =>
[sent] => Skicka
)''

Om du fyller i de två textfälten First Name och Last Name med t.ex 'foo' och 'bar' så kommer det se ut ungefär såhär.

''Array
(
[firstname] => foo
[lastname] => bar
[sent] => Skicka
)''

För att komma åt formulärfälten i PHP så lagras informationen ifrån ett formulär som en assosiativ array i supergobalen $_POST.
För att skriva ut endast 'firstname' kan du göra såhär.

<code>
echo $_POST['firstname'] ;
// Kommer skriva ut 'foo' om det var det du skrev i ditt formulät
</code>
Experimenteria lite, har debugkoden kvar ett tag, alltså denna:
<code>
echo '<pre>';
print_r($_POST);
echo '</pre>';
</code>

Nu vet du vart informationen har taigt vägen när du postat ett formulär.

Databasbiten kommer endast här vara mycket grundlig.
Först måste du ha en databasserver t.ex MySQL, det är vad denna guide går ut på.
I databasen måste du skapa en databas där du kan skapa tabeller samt kolumner.

Databasen i vårat exempel kommer heta 'phpp_db' och tabellen 'users', kolumnerna blir 3 st 'id','firstname' 'lastname'.

Nedan kommer kodexempel på hur du måste göra för att först prata med databasen.
<code>
<?php

//Koppla upp dig mot Servern med rätt uppgifter
$connection = mysql_connect('localhost','username','password');
// Välj databas
mysql_select_db('phpp_db',$connection)

?>
</code>
Här har vi endast kopplat upp oss mot servern och valt databas, om allt gått bra.

Efter så måste du anpassa din kod för att ta emot formulärdata och sedan skicka in det i databasen.
Nu kommer den 'kompletta' koden, detta är bara i syfte för kunna förstå hur det går till
så all form av säkerhet validering av formulärdata lämnas ute i denna guide.
<code>
<?php

//Koppla upp dig mot Servern med rätt uppgifter
$connection = mysql_connect('localhost','username','password');
// Välj databas
mysql_select_db('phpp_db',$connection)


//kontrollera i php om formuläret ens har blivit skickat
if(isset($_POST['firstname']){
// Ja det har skickats, nu ska det alltså in i databasen.

//För att skicka informationen till databasen krävs en ny funktion mysql_query()
mysql_query("INSERT INTO users (firstname,lastname) VALUES('$_POST['firstname']','$_POST['lastname']'");

echo ' Informationen har lagts till i databasen ' ;

else{
// Visa fomuläret igen
?>
<form action="" method="post">
First name
<input type="text" name="firstname">
<br>
Last name
<input type="text" name="lastname">
<input type="submit" name="sent" value="Skicka" >
</form>
</code>

Snabbt hur teorin fungerar, detaljer tas inte upp här.


Wiki-navigering
Wiki Index
Wiki Artiklar
Wiki Skolan
Wiki Guider
Wiki FAQ
Webbhotell
Domänregistrering
Wiki-sökning
Sök:
Dokumentalternativ
Visa dokumenthistorien
Senaste wiki-ändringar
Visa ändringarna
Inställningar
Wiki inställningar
Bra att veta
Vad är en Wiki?
Våra förhållningsregler
Trivselregler
Att använda Wikin
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB 2.0.4 © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic