Avatar billede hewa Nybegynder
03. januar 2007 - 19:09 Der er 10 kommentarer og
1 løsning

Hvordan kan form og mysql_query arbejde sammen

Jeg er ved at teste med at lægge ind i en database og trække ud igen. Helt enkelt vil jeg lægge et link med tekst ind i en database og efterfølgende trække det ud igen og (hurra) det er lykkes :)
Dog kan jeg ikke få mysql_query til at lægge i forbindelse med formen, så den gemmer linket med det samme, jeg trykker på knappen - jeg kan kun gøre det ved at lave en ny side og smide tekst og link med som varabel og så kan den gemme det, når jeg kalder en ny side. Som understående lægger den to tomme felter ind, når jeg kommer til siden og når jeg trykker på knappen, sker der ikke mere.

Har du en ide til, hvordan jeg kan gøre det?

if($_GET[link] == "add") {
    echo "<b>Opret et link</b><br>";
    echo "
<form action='links.php?link=new' method='POST' onsubmit='validering();return false;'>
Link tekst: <br>
<input type='text' name='linktekst' size='40'><br>
Link: <br>
<input type='text' name='link' size='40'> Husk http://<br>
<input type='submit' value='Gem'>
</form>";

mysql_query("INSERT INTO links (linktekst, link) VALUES ('$_POST[linktekst]', '$_POST[link]')") OR DIE(mysql_error());
}
Avatar billede zynzz Praktikant
03. januar 2007 - 19:36 #1
if(isset($_GET['opret']) == "add") {
    echo "<b>Opret et link</b><br>";
mysql_query("INSERT INTO links (linktekst, link) VALUES ('".$_POST['linktekst']."', '".$_POST['link']."')") or die(mysql_error());
}
echo "
<form action='' method='POST' onsubmit='validering();return false;'>
Link tekst: <br>
<input type='text' name='linktekst' size='40'><br>
Link: <br>
<input type='text' name='link' size='40'> Husk http://<br>
<input type='submit' value='Gem' name='opret'>
</form>";
Avatar billede zynzz Praktikant
03. januar 2007 - 19:37 #2
baah :P

if(isset($_GET['opret'])) {
mysql_query("INSERT INTO links (linktekst, link) VALUES ('".$_POST['linktekst']."', '".$_POST['link']."')") or die(mysql_error());
echo "<b>Linket blev oprettet</b><br>";
}
echo "
<form action='' method='POST' onsubmit='validering();return false;'>
Link tekst: <br>
<input type='text' name='linktekst' size='40'><br>
Link: <br>
<input type='text' name='link' size='40'> Husk http://<br>
<input type='submit' value='Gem' name='opret'>
</form>";
Avatar billede amews_aj Nybegynder
03. januar 2007 - 19:42 #3
Lige for at uddybe grunden til den kode som zynzz kommer med.
PHP er et serversprog, hvilket vil sige at koden udføres på serveren. Det vil sige at allerede inden du ser siden, så er hele koden udført.
Avatar billede hewa Nybegynder
03. januar 2007 - 19:51 #4
Tak for dit hurtige svar - jeg kan dog ikke få det til at virke. Når jeg sætter det nederste ind, virker det ikke, der kommer ikke nogen fejl, men der sker heller ikke noget.
Kan det ikke bruges med if($_GET[link] == "add")?
- det hele er lavet på én side, så det skal med
Avatar billede zynzz Praktikant
03. januar 2007 - 19:53 #5
Også mig der er en torsk... :P


if(isset($_POST['opret'])) {
mysql_query("INSERT INTO links (linktekst, link) VALUES ('".$_POST['linktekst']."', '".$_POST['link']."')") or die(mysql_error());
echo "<b>Linket blev oprettet</b><br>";
}
echo "
<form action='' method='POST' onsubmit='validering();return false;'>
Link tekst: <br>
<input type='text' name='linktekst' size='40'><br>
Link: <br>
<input type='text' name='link' size='40'> Husk http://<br>
<input type='submit' value='Gem' name='opret'>
</form>";
Avatar billede hewa Nybegynder
03. januar 2007 - 20:29 #6
Kanon, det virker sgu da :))
- men jeg havde håbet, jeg kunne sende videre til den oprindelig side via action - hvordan kan gøre det?
- skal der så flere point på højkant?
:)
Avatar billede zynzz Praktikant
03. januar 2007 - 20:33 #7
Men hvorfor vil du det ?

du kan jo evt bruge header:

http://dk2.php.net/manual/da/function.header.php
Avatar billede zynzz Praktikant
03. januar 2007 - 20:36 #8
Eller du kunne bruge et metatag:

<meta http-equiv=Refresh content=0;url=side.php>
Avatar billede hewa Nybegynder
03. januar 2007 - 20:43 #9
Det skyldes, der bliver en link-side som udgangspunktet, og det med at oprettet links, bliver ikke så ofte det sker, så jeg synes, det kunne være rart, hvis man bliver sendt tilbage til den lige efter. Jeg havde bare en ide om, at efter at have trykket på gem, skulle det gemmes i databasen og så skulle man videre til "hovedsiden". Men det kan så nok ikke lade sig at gøre.

Smid et svar, så er der point på vej til dig :)
Tusinde tak for hjælpen!
Avatar billede zynzz Praktikant
03. januar 2007 - 20:44 #10
svar
Avatar billede zynzz Praktikant
03. januar 2007 - 20:45 #11
svar :)
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
Computerworld tilbyder specialiserede kurser i database-management

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