Avatar billede krydset Nybegynder
02. januar 2004 - 14:09 Der er 17 kommentarer og
1 løsning

få en variabel med i (insert into)

Jeg har et lille problem med det her script.

Jeg skal ha en tekst med i en database som kommer fra en anden side

Jeg overføre teksten på den her måde
<td><?PHP echo "<a href='besked.php?modtager=$row[ejer]'>$row[ejer](send besked)</a>" ?></td>
hvor det er modtager jeg skal ha med i db.

besked.php ser sådan her ud

<?PHP
session_start();
if(!$_SESSION[tjek] == "OK") {
    header("location: admin.php");
} else {

?>
<form action="besked.php" method="POST">
<table>
    <tr>
        <td>Title</td>
    </tr>
   
    <tr>
        <td><input type="text" name="title"><td>
    </tr>
   
    <tr>
        <td>Besked</td>
    </tr>
   
    <tr>
        <td><textarea name="besked"></textarea>
    </tr>
   
    <tr>
        <td><input type="submit" name="indsend" value="Send besked til <?PHP echo $_GET[modtager]; ?>"></td>
    </tr>
</table>
</form>
<?PHP
   
    if($_POST[besked]) {
        $status = "1";//status 1 = ulæst // status 2 = læst
        include("../dbconnect.php");
        mysql_query("INSERT INTO beskeder (besked, modtager, status) VALUES ('$_POST[besked]','$_GET[modtager]','$status')") or die(mysql_error());
       
    }
}

?>

Det er så $_GET[modtager] der ikke funger. og det er jo klart får den har ikke noget indhold efter man trykker på submit knappen, er der en smart måde man kan gøre det på så jeg kan få modtager med i db??

//krydset
Avatar billede jakobclausen Nybegynder
02. januar 2004 - 14:12 #1
Du skal skrive $_POST[modtager] da du bruger en method="post"
Avatar billede krydset Nybegynder
02. januar 2004 - 14:16 #2
dvs så sige i formen skal jeg have en der hedder
<input type="hidden" name="modtager" value="<?PHP $_GET[modtager] ?>">
`??
Avatar billede jakobclausen Nybegynder
02. januar 2004 - 14:21 #3
I din form, på besked.php, har du angivet method="post". Derfor skal du de steder hvor du skriver $_GET[modtager] istedet for skrive $_POST[modtager]
Avatar billede krydset Nybegynder
02. januar 2004 - 14:24 #4
Lige for en sikkerheds skyld, du har læst spm ordentligt igennem. det der skal indsættes kommer fra en anden side og bliver overført med det her link

<td><?PHP echo "<a href='besked.php?modtager=$row[ejer]'>$row[ejer](send besked)</a>" ?></td>
??
Avatar billede krydset Nybegynder
02. januar 2004 - 14:26 #5
og dit foreslag virker forresten ikke :-(
Avatar billede elduce Nybegynder
02. januar 2004 - 14:26 #6
svjks bliver modtager ikke overført når man trykker på send. Enten kan du tage værdien med i en hidden, som krydset foreslår, eller også kan du indsætte den direkte i actionen:

<form action="besked.php?modtager=$modtager" method=post>

Jeg går her ud fra at der ikke er tale om følsomme oplysninger, og så er det vel ligegyldigt at man kan se variablen?
Avatar billede erikjacobsen Ekspert
02. januar 2004 - 14:26 #7
02/01-2004 14:16:05 + $_POST..... skal virke
Avatar billede elduce Nybegynder
02. januar 2004 - 14:26 #8
og så var det jakobclausen der stillede foreslaget med hidden-feltet :)
Avatar billede erikjacobsen Ekspert
02. januar 2004 - 14:27 #9
Hvis altså du husker print

<input type="hidden" name="modtager" value="<?php print $_GET[modtager]; ?>">
Avatar billede krydset Nybegynder
02. januar 2004 - 14:27 #10
nå jeg kommer fra en anden side med sådan et link her<td><?PHP echo "<a href='besked.php?modtager=$row[ejer]'>$row[ejer](send besked)</a>" ?></td>

så skal man på target siden bruge $_GET for at få fat i det
Avatar billede erikjacobsen Ekspert
02. januar 2004 - 14:29 #11
Det er for så vidt korrekt, krydset, men på næste side igen står den jo ikke i urlen
Avatar billede elduce Nybegynder
02. januar 2004 - 14:29 #12
der er sikkert en højere mening med at sætte $_GET foran, men jeg nøjes som regel med $ foran, og det virker fint med den version jeg har af php.
Avatar billede krydset Nybegynder
02. januar 2004 - 14:31 #13
Men ikke i min vers af den ;)

Men det virker nu
<input type="hidden" name="modtager" value="<?php print $_GET[modtager]; ?>">

og i insert linien
mysql_query("INSERT INTO beskeder (besked, modtager, status) VALUES ('$_POST[besked]','$_POST[modtager]','$status')") or die(mysql_error());

Hmm nyt problem hvem skal ha point :-O
Avatar billede erikjacobsen Ekspert
02. januar 2004 - 14:32 #14
ja, der er en højere mening - prøv at find den en dag. Bruger du ikke
$_POST og $_GET bør du i det mindste afholde dig fra at publicere dine scripts ;)
Avatar billede elduce Nybegynder
02. januar 2004 - 14:37 #15
erikjacobsen>> Du kan være ganske rolig, du kommer aldrig til at se mine scripts offenligt :D
Avatar billede krydset Nybegynder
02. januar 2004 - 14:37 #16
hmmm eric hvad mener du med at jeg ikke på publicere mine scripts??
Avatar billede krydset Nybegynder
02. januar 2004 - 14:38 #17
nå ikke til mig
Avatar billede krydset Nybegynder
05. januar 2004 - 10:19 #18
nå erik får piont han er den eneste der har svaret, ;)
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