Avatar billede escorpion Nybegynder
11. oktober 2006 - 14:34 Der er 16 kommentarer og
1 løsning

php og mysql

Hejsa eksperter!

Jeg for nylig sat mig for at sætte mig dybere ind i programmering mellem PHP og MySQL.

Jeg vil som test lave et site med en textboks og en knap.
Når jeg skriver noget ind i textboksen, og trykker på knappen, overføres værdien af texboksen således til en MySQL database.

Jeg har leget lidt med et html dokument der ved hjælp af en form,
kalder et andet .php dokument.

I .php dokumentet har jeg så connectionstrings, oprettelse af databse, oprettelse af tabel, og endelig indsætning af variabel-værdien for førnævnte textboks.

Mit problem er at når jeg trykker på knappen, "åbner" den selve dokumentet i dreamweaver, i stedet for at eksekvere det script der står i den.

Jeg vil høre om der er nogen der kan give mig et ultra simpelt eksempel på, en lignende funktion der så bare virker:)

"Alstå":

Site, med knap, og textboks.
Tryk på knap, overfører textboks værdi til database

tusinde tak.
Mvh
Richard

Ps: hvis du evt. kender til forskellige php/MySQL online tutorials(gerne video) så skriv endelig
Avatar billede kimols1 Nybegynder
11. oktober 2006 - 14:41 #1
mysql_connect("host","navn","password);
mysql_select_db("databasenavn");

if(isset($_POST['submit')){

$text = $_Post['text'];

mysql_query("INSERT INTO tablenavn(text) VALUES ('$text')");

}




<form action="" method="post">


<textarea name="text">
<input type="submit" name="submit" value="send">

</text>
</form>


noget i den stil..
Avatar billede kimols1 Nybegynder
11. oktober 2006 - 14:43 #2
</text> skal erstattes med </textarea> cfølig og $_Post med $_POST
Avatar billede escorpion Nybegynder
11. oktober 2006 - 14:48 #3
Kimols1 ->
Ja jeg kan se logikken i selve scriptet, men hvordan får jeg udført selve scriptet?
din kode viser mig jo kun selv forbindelsen til databasen...

mit problem er at jeg ikke kan se, hvordan scriptet skal eksekveres.
Avatar billede kimols1 Nybegynder
11. oktober 2006 - 14:54 #4
kan godt prøve at forklare:

if(isset($_POST['submit')){

$text = $_Post['text'];

mysql_query("INSERT INTO tablenavn(text) VALUES ('$text')");

echo "din text er nu tilføjet til databasen";

}
altså hvis der er trykket på knappen med navnet "submit" skal den smide det den får nede fra textarea ind i variablen $text for derefter at sætte det ind i din database.
Avatar billede b_ Nybegynder
11. oktober 2006 - 15:12 #5
Hvor tester du dit dokument henne???

http://www.w3schools.com/sql/ <------ SQL Tutorial
Avatar billede b_ Nybegynder
11. oktober 2006 - 15:15 #6
Her en udmærket forklaring på oprettelse af db, indsættelse mm.

http://www.w3schools.com/php/php_mysql_create.asp
Avatar billede escorpion Nybegynder
11. oktober 2006 - 15:32 #7
Jeg tror jeg fandt ud af det:

Jeg testede mine filer lokalt, og havde ikke uploadet dem til serveren,:P

mit eneste problemer nu, er når jeg trykker på knappen, kommer en error frem: "NO DATABASE SELECTED"

Her er min kode for php:

<?php

$con = mysql_connect("host","user","password");

if (!$con)
  {
      die('Could not connect: ' . mysql_error());
  }

mysql_select_db("Test", $con);$sql="INSERT INTO Test (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con))
  {
      die('Error: ' . mysql_error());
  }

echo "1 record added";

mysql_close($con)
?>

host, user, og password er sef sat rigtig.....;)
Avatar billede b_ Nybegynder
11. oktober 2006 - 15:49 #8
Du har ikke oprettet forbindelse til databasen, kun til databaseserveren:


  //Opretter forbindelse til databasen
  $db_selected = mysql_select_db("din_database", $conn);
  if (!$db_selected) {
      die ("Der kunne ikke etableres forbindelse til databasen!");
  }
Avatar billede b_ Nybegynder
11. oktober 2006 - 15:52 #9
jeg plejer at gøre begge dele i en include fil og include den så på de sider der skal kommunikere med db'en

include fil, connection_inc.php:
<?php

function connection() {
  // Opretter forbindelse til databaseserveren
  $conn = mysql_connect("localhost", "brugernavn", "kodeord");
  if (!$conn) {
      die ("Der kunne ikke etableres forbindelse til databaseserveren!");
  }

  //Opretter forbindelse til databasen
  $db_selected = mysql_select_db("database", $conn);
  if (!$db_selected) {
      die ("Der kunne ikke etableres forbindelse til databasen!");
  }
  return $conn;
}
?>

Og kalder den så:
require_once("/connection_inc.php");
$conn = connection();
Avatar billede elskermad.dk Nybegynder
11. oktober 2006 - 16:19 #10
dit script er oploadet til en webserver ikke?
Avatar billede b_ Nybegynder
11. oktober 2006 - 16:37 #11
Hov min fejl. du har oprettet forbindelse til din db
Avatar billede b_ Nybegynder
11. oktober 2006 - 16:39 #12
hedder både din db TEST og din tabel?
Avatar billede b_ Nybegynder
11. oktober 2006 - 16:40 #13
du mangler ihvertfald '' her: $_POST[lastname] ---> $_POST['lastname']
Avatar billede b_ Nybegynder
11. oktober 2006 - 16:44 #14
F*** jeg ser sort idag... beklager jeg spammer din tråd
Avatar billede elskermad.dk Nybegynder
11. oktober 2006 - 16:56 #15
argh - så ikke lige 11/10-2006 15:32:12 - men lød blot til at du testede lokalt nu dreamweaver åbnede scriptet, som åbenbart os var problemet :)
Avatar billede escorpion Nybegynder
12. oktober 2006 - 07:43 #16
Hehe, jeg har fixet det hele selv gutter.
Det første problem var, at min egen pc, ikke kan agere server mht. php. De skulle uploades.
Det andet var en gramatikfejl. fejl 40.:P

tak for linket b_ w3schools har temlig meget godt stof:)
Avatar billede escorpion Nybegynder
12. oktober 2006 - 12:57 #17
close
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester