Avatar billede ngr Praktikant
06. marts 2003 - 19:36 Der er 27 kommentarer og
2 løsninger

Hvordan bruger jeg php til at lægge indhold i MySQL

Jeg skal lave en side, hvor brugeren besvarer en række spm, nogle ved at afkrydse det rigtige svar, andre ved selv at skrive et svar.

Hvordan laver jeg det så svarene bliver lagt i min database (selve MySQL koden har jeg)
Avatar billede ohmish Nybegynder
06. marts 2003 - 19:40 #1
kom med formen/koden
Avatar billede ngr Praktikant
06. marts 2003 - 19:41 #2
Det er den jeg eftersøger
Avatar billede Slettet bruger
06. marts 2003 - 19:44 #3
http://www.html.dk/artikler/00011/ læs den og du er godt på vej
Avatar billede ngr Praktikant
06. marts 2003 - 19:47 #4
Der står ikke noget, jeg ikke ved.
Det jeg ikke kan finde ud af, er hvordan jeg får det til at hænge sammen med MySQL: Hvordan skal koden se ud for at overføre data fra formularerne til MySQL
Avatar billede ohmish Nybegynder
06. marts 2003 - 20:26 #5
jamen.. hvordan ser din form ud?
Avatar billede ohmish Nybegynder
06. marts 2003 - 20:27 #6
skal der oprettes helt nye felter i mysql, eller opdateres?
Avatar billede ngr Praktikant
06. marts 2003 - 20:57 #7
Der bliver en række spm, hvis svar skal have hver en kolonne i en tabel.
Men det, jeg har brug for at vide, er hvordan jeg bygger min php fil op - hvordan jeg lægger de enkelte svar ind i en variabel - og hvordan denne variabel lægges ned i databasen sammen med de andre svar/variabler.
Jeg har en ide om at jeg skal lave en stor php fil med alle spm, og i slutningen af den klikker man på en knap, som så gemmer det hele.
Jeg forstår udmærket det to elementer: Formularerne og nedskrivningen i databasen - men jeg ved ikke, hvordan jeg kobler dem sammen
Avatar billede ohmish Nybegynder
06. marts 2003 - 21:18 #8
prøv med noget i stil med:

<form method="post" action=<? echo $PHP_SELF; ?>>
Navn:<br>
<input type="text" name="navn"><br>
Overskrift:<br>
<input type="text" name="subject"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"> Her indtastes nyheden</textarea><br>
<INPUT TYPE="SUBMIT"  name="skriv" value="Skriv det">
<p></form>

<?php
if(isset($skriv)){

$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");

mysql_query("insert into TABELNAVN (navn, Overskrift, besked) values
('$navn','$subject','$besked')");

} ?>

eller søg i php-kategorien med sætningen "mysql form"
Avatar billede sukos Juniormester
06. marts 2003 - 22:25 #9
Jeg vile lave en fil som håndterer al input til DB'en
Så er du aldrig i tvivl om hvor du skal kikke for at finde hvor der bliver lagt ind.

d.v.s. du har en fil som har et input
en anden for et andet input, o.s.v.

For hvert input felt, kan du sætte en hidden var:
<input type="hidden" name="var1" value="var1">

andre formfelter .........................

submitknap


I filen som smider i DB, spørger du så hvilken var som er sat:

<?php
if(isset($_POST['var1'])) {
smid i den rigtige DB, ud fra var1
}

if(isset($_POST['var2'])) {
smid i den rigtige DB, ud fra var2
}

o.s.v.
?>
Avatar billede ngr Praktikant
06. marts 2003 - 22:28 #10
Men jeg ville gerne at man får en fejlmelding når man prøver at submitte uden at have svaret på alle spm - og så skal det vel ikke gøres som du skriver?
Avatar billede sukos Juniormester
06. marts 2003 - 23:10 #11
du laver bare en header, så får du heller ikke samme indhold en gang til hvis brugeren opdaterer siden
Avatar billede ohmish Nybegynder
07. marts 2003 - 01:33 #12
prøv det her:

<?php
if ($skriv) {
if (!$navn) { $status="Skriv venligst dit navn"; )
elseif (!$emne) { $status="Skriv venligst et emne"; )
elseif (!$besked) { $status="Skriv venligst en besked"; )
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$navn','$overskrift','$besked')"); header ("Location: denneside.php?status=besked gemt"); }
}
echo $status; ?>

<html>
<form method="post" action="denneside.php">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $overskrift; ?>><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT"  name="skriv" value="Skriv det">
<p></form>
</html>
Avatar billede ngr Praktikant
07. marts 2003 - 17:42 #13
Indtastningsfunktionen fungerer overhovedet ikke
Avatar billede tbg Nybegynder
07. marts 2003 - 17:59 #14
Indtastningsfunktionen?
Avatar billede ngr Praktikant
07. marts 2003 - 18:18 #15
<html>
<form method="post" action="denneside.php">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $overskrift; ?>><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT"  name="skriv" value="Skriv det">
<p></form>
</html>
Avatar billede ohmish Nybegynder
07. marts 2003 - 18:34 #16
Sådan her (husk at filen og actions skal være det samme. f.eks "denneside.php"):

<?php
if ($skriv) {
if (!$navn) { $status="Skriv venligst dit navn"; )
elseif (!$emne) { $status="Skriv venligst et emne"; )
elseif (!$besked) { $status="Skriv venligst en besked"; )
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$navn','$overskrift','$besked')"); header ("Location: denneside.php?status=besked gemt"); }
}
echo $status; ?>

<html>
<body>
<form method="post" action="denneside.php">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>"><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $emne; ?>"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT"  name="skriv" value="Skriv det">
</form>
</body>
</html>
Avatar billede ngr Praktikant
07. marts 2003 - 21:38 #17
Jamen halløj, skal jeg lave to filer?
Avatar billede ohmish Nybegynder
08. marts 2003 - 01:47 #18
næh, ikke i mit eksempel.
Avatar billede ngr Praktikant
08. marts 2003 - 01:51 #19
Jamen det kan da ikke starte med
<?php
if ($skriv) {
o.s.v. og så først langt nede i filen en <html><body> ??
Avatar billede 123maka Nybegynder
08. marts 2003 - 01:54 #20
ohmish iflg. de nye standarter:

<?php
if ($_POST[skriv]) {
if ($_POST[navn] == '') { $status="Skriv venligst dit navn"; )
elseif ($_POST[emne] == '') { $status="Skriv venligst et emne"; )
elseif ($_POST[besked] == '') { $status="Skriv venligst en besked"; )
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$_POST[navn]','$_POST[overskrift]','$_POST[besked]')"); header ("Location: denneside.php?status=besked gemt"); }
}
echo $status; ?>

<html>
<body>
<form method="post" action="denneside.php">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>"><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $emne; ?>"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT"  name="skriv" value="Skriv det">
</form>
</body>
</html>
Avatar billede 123maka Nybegynder
08. marts 2003 - 01:55 #21
Dette burde virke:

<?php
if ($_POST[skriv]) {
if ($_POST[navn] == '') { $status="Skriv venligst dit navn"; )
elseif ($_POST[emne] == '') { $status="Skriv venligst et emne"; )
elseif ($_POST[besked] == '') { $status="Skriv venligst en besked"; )
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$_POST[navn]','$_POST[overskrift]','$_POST[besked]')"); header ("Location: denneside.php?status=besked gemt"); }
}
echo $status; ?>

<html>
<body>
<form method="post" action="<? echo"$PHP_SELF"; ?>">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>"><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $emne; ?>"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT" name="skriv" value="Skriv det">
</form>
</body>
</html>
Avatar billede ngr Praktikant
08. marts 2003 - 01:58 #22
Parse error: parse error, unexpected ')' on line 4
Avatar billede 123maka Nybegynder
08. marts 2003 - 02:00 #23
<?php
if ($_POST[skriv]) {
if ($_POST[navn] == '') {
$status="Skriv venligst dit navn";
}
elseif ($_POST[emne] == ''){
$status="Skriv venligst et emne";
}
elseif ($_POST[besked] == '') {
$status="Skriv venligst en besked";
}
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$_POST[navn]','$_POST[overskrift]','$_POST[besked]')"); header ("Location: denneside.php?status=besked gemt"); }
}
echo $status; ?>

<html>
<body>
<form method="post" action="<? echo"$PHP_SELF"; ?>">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>"><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $emne; ?>"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT" name="skriv" value="Skriv det">
</form>
</body>
</html>
Avatar billede ngr Praktikant
08. marts 2003 - 02:06 #24
Warning: Cannot add header information - headers already sent by (output started at /web/www.fdp.dk/www/db/ny.php:2) in /web/www.fdp.dk/www/db/ny.php on line 26

Line 26: ('$_POST[navn]','$_POST[overskrift]','$_POST[besked]','$_POST[besked]')"); header ("Location: denneside.php?status=besked
Avatar billede 123maka Nybegynder
08. marts 2003 - 02:08 #25
<?php
if ($_POST[skriv]) {
if ($_POST[navn] == '') {
$status="Skriv venligst dit navn";
}
elseif ($_POST[emne] == ''){
$status="Skriv venligst et emne";
}
elseif ($_POST[besked] == '') {
$status="Skriv venligst en besked";
}
else {
$conn = mysql_connect("mysqlurl", "bruger", "password");
mysql_select_db("databasenavn");
mysql_query("insert into TABELNAVN (navn, emne, besked) values
('$_POST[navn]','$_POST[overskrift]','$_POST[besked]')");
echo"Din besked er gemt <a href=\"$PHP_SELF\">[Opdater]</a>";
}
}
echo $status; ?>

<html>
<body>
<form method="post" action="<? echo"$PHP_SELF"; ?>">
Navn:<br>
<input type="text" name="navn" value="<? echo $navn; ?>"><br>
Overskrift:<br>
<input type="text" name="emne" value="<? echo $emne; ?>"><br>
Tekst:<br>
<textarea name="besked" rows="8" cols="32"><? echo $besked; ?></textarea><br>
<INPUT TYPE="SUBMIT" name="skriv" value="Skriv det">
</form>
</body>
</html>
Avatar billede ngr Praktikant
08. marts 2003 - 02:19 #26
Nu ser det ud til at virke, 1000 tak.
Hvordan fordeler jeg nu points?
Avatar billede 123maka Nybegynder
08. marts 2003 - 02:57 #27
15 til ohmish og 15 til mig...
Jeg rettede jo bare i hans kode...
Avatar billede 123maka Nybegynder
08. marts 2003 - 02:57 #28
ups
7 til hver mener jeg
Avatar billede ngr Praktikant
25. marts 2003 - 20:25 #29
Til ohmish

Kan du ikke sende en mail til mig - ngr@mail.dk
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