Avatar billede hono Nybegynder
12. november 2003 - 22:24 Der er 16 kommentarer og
1 løsning

Flere citationstegn

ja, så har jeg brug for hjælp igen - hvad skulle man dog gøre uden eksperten.dk :)

Denne gang handler det om de her ' og de her ". Jeg har nemlig brug for en 3. en af samme slags. Jeg har følgende linie:

$sql = "INSERT INTO tagwall (navn, email) VALUES ('$HTTP_POST_VARS['Navn']', '$HTTP_POST_VARS['Email']')";

I begyndelsen af linien er det er "-tegn. Variablerne pakkes ind i '-tegn, og det samme gøre vædierne inde i []'erne. Men jeg får sevfølgelig en felmelding fordi jeg bruger de samme tegn til at omklamre flere forskellige ting. Har forsøgt mig med at erstatte nogle af '-tegnene med \", men uden held. Hvad skal jeg gøre?

Hono
Avatar billede avminarm Juniormester
12. november 2003 - 22:27 #1
$sql = "INSERT INTO tagwall (navn, email) VALUES ('".$HTTP_POST_VARS['Navn']."', '".$HTTP_POST_VARS['Email']."')";
Avatar billede ztyxx Nybegynder
12. november 2003 - 22:28 #2
$sql = "INSERT INTO tagwall (navn, email) VALUES ('$HTTP_POST_VARS[Navn]', '$HTTP_POST_VARS[Email]')";
Avatar billede avminarm Juniormester
12. november 2003 - 22:28 #3
er du sikker på du ikke bare skal bruge $_POST i stedet for HTTP_...
Avatar billede hono Nybegynder
12. november 2003 - 22:28 #4
avminarim >> Hvad betyder punktummet foran variablerne?
Avatar billede exp Juniormester
12. november 2003 - 22:29 #5
$sql = "insert into tagwall (`navn`, `email`) values('".$_POST['Navn']."', '".$_POST['Email']."')";
Avatar billede exp Juniormester
12. november 2003 - 22:30 #6
hono >>
Punktummet er for at php'en ved, at her kommer der noget andet (noget der skal fortolkes)
Avatar billede jakoba Nybegynder
12. november 2003 - 22:30 #7
tænk på det spm en pyramide. nederdet lag er hele molevitten (med " udenom)
næste lage er der så ' udenom
og i næste lag igen laver du \" udenom

$sql = "INSERT INTO tagwall (navn, email) VALUES ('$HTTP_POST_VARS[\"Navn\"]', '$HTTP_POST_VARS[\"Email\"]')";

men undgå det hvis du kan. fc ved at lave en hjælpevariabel:

$hjaelp1 = $HTTP_POST_VARS["Navn"];

så er det nemt at sætte  $hjaelp1  ind i den store streng.

mvh JakobA
Avatar billede hono Nybegynder
12. november 2003 - 22:31 #8
k, hvad er forskellen på $_POST og det jeg bruger?
Avatar billede hono Nybegynder
12. november 2003 - 22:32 #9
Jakoba >> Det var netop din "pyramide-tankegang" jeg havde brugt da jeg forsøgte mig med \". Det virkede dog ikke for mig, men jeg må jo have lavet en fejl, for når du siger det virker, så er det vist ingen tvivl om det!
Avatar billede avminarm Juniormester
12. november 2003 - 22:33 #10
punktummet er at opfatte som et slags "plustegn" - det bruges fordi jeg hopper ind og ud af din sql-sætning, på den måde holder man PHP of SQL for sig

f.eks kan man lægge to variabler sammen:

$var1 = "nr1";
$var2 = "nr2";

$var1og2 = $var1.$var2;

echo $var1og2; //printer: nr1nr2
Avatar billede erikjacobsen Ekspert
12. november 2003 - 22:34 #11
$sql = "INSERT INTO tagwall (navn, email) VALUES ('{$HTTP_POST_VARS['Navn']}', '{$HTTP_POST_VARS['Email']}')";
Avatar billede avminarm Juniormester
12. november 2003 - 22:35 #12
jacoba>> vil dit også virke hvis det stå direkte i

mysql_query("INSERT ..... VALUES ('$HTTP_POST_VARS[\"Navn\"]', '$HTTP_POST_VARS[\"Email\"]'")

?
Avatar billede avminarm Juniormester
12. november 2003 - 22:36 #13
erik>> det har jeg aldrig set før ;o) - hvordan fungerer det?
Avatar billede jakoba Nybegynder
12. november 2003 - 22:39 #15
i nuere versioner af php skiftede navnet på det array til $_POST,  men det gamle navn kan stadig bruges.
Avatar billede avminarm Juniormester
12. november 2003 - 22:41 #16
erik>> tak
Avatar billede jakoba Nybegynder
12. november 2003 - 22:43 #17
eriks er bedre. brug det.
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