Följ Black Week på SweClockers

[PHP] Skicka data mellan filer _utan_ formulär

Permalänk
Medlem

[PHP] Skicka data mellan filer _utan_ formulär

Hej!

En användare matar in vissa personuppgifter på sida A och skickas sedan vidare till sida B. På sida B väljer användaren vad han/hon vill prenumerera på och där uppdateras ett fält i databasen med användarens val. Problemet är att jag använder en variabel från sida A för att uppdatera rätt fält:

$get_personid = mysql_query("SELECT `personid` FROM `member` WHERE `personkey`='" . $pkey . "'");

där $pkey håller värdet från fil A.
Jag har testat att skriva in $pkey i adressfältet och använda GET för att få tag i variabeln, men det funkar inte.

Några idéer på hur jag ska lösa mitt problem?
Säg till om nåt är oklart så ska jag försöka att måla upp en bättre bild.

Permalänk
Medlem
Skrivet av rymdsylt:

Hej!

En användare matar in vissa personuppgifter på sida A och skickas sedan vidare till sida B. På sida B väljer användaren vad han/hon vill prenumerera på och där uppdateras ett fält i databasen med användarens val. Problemet är att jag använder en variabel från sida A för att uppdatera rätt fält:

$get_personid = mysql_query("SELECT `personid` FROM `member` WHERE `personkey`='" . $pkey . "'");

där $pkey håller värdet från fil A.
Jag har testat att skriva in $pkey i adressfältet och använda GET för att få tag i variabeln, men det funkar inte.

Några idéer på hur jag ska lösa mitt problem?
Säg till om nåt är oklart så ska jag försöka att måla upp en bättre bild.

Klart det fungerar.
Hur ser querysträngen ut när du försöker skicka värdet från sida A till B?

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Vad menar du med _utan_ formulär?

adress.php?personkey=<?php echo $_POST['person_uppgifter'];?> // eller hur personuppgifterna nu uppstår.

hämtas med

$pkey = $_GET['personkey'];

Permalänk
Medlem

eller mellanlagra dom i en session?

Permalänk
Medlem

Leedow: Jag har försökt mig på nån sort av GET(vilket jag nu ser var felskrivet). Med en header skickar jag användaren vidare till sida B:
header("location:adress.php?personkey=" . $pkey . "");

Aspen: Jag har testat att fylla i adressfältet med <?php echo $_POST['person_uppgifter'];?> ist för bara $pkey men jag får ett felmeddelande.
expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' on line 41(alltså där jag har min header).

headern ser ut exakt så här

header("location:adress.php?personkey=<?php echo $_POST['personkey'];?>");

Jag kan verkligen inte se vad det är för nåt som inte stämmer. Jag har testat att slänga in punkter innan $_POST eller innan <?php, men inget av det funkar.

Jonaz: om jag inte kan lösa detta med GET får jag nog se över ditt förslag.

Permalänk
Medlem
Skrivet av rymdsylt:

Leedow: Jag har försökt mig på nån sort av GET(vilket jag nu ser var felskrivet). Med en header skickar jag användaren vidare till sida B:
header("location:adress.php?personkey=" . $pkey . "");

Aspen: Jag har testat att fylla i adressfältet med <?php echo $_POST['person_uppgifter'];?> ist för bara $pkey men jag får ett felmeddelande.
expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' on line 41(alltså där jag har min header).

headern ser ut exakt så här

header("location:adress.php?personkey=<?php echo $_POST['personkey'];?>");

Jag kan verkligen inte se vad det är för nåt som inte stämmer. Jag har testat att slänga in punkter innan $_POST eller innan <?php, men inget av det funkar.

Jonaz: om jag inte kan lösa detta med GET får jag nog se över ditt förslag.

Hur ser adressen ut i webbläsaren när du har anlänt till sida B?

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

header-funktionen är ju php i sig självt, så då ska du inte använda <?php för att infoga din variabel, det räcker med vanlig sträng konkatenering.

header("location:adress.php?personkey=" . $_POST['personkey'] );

Skrivet av rymdsylt:

header("location:adress.php?personkey=<?php echo $_POST['personkey'];?>");

Visa signatur

"Memory is like an orgasm. It's a lot better if you don't have to fake it." - Seymore Cray

Permalänk
Medlem

Sen som en friendly reminder ang. koden i ditt första inlägg: glöm inte escapa input-datan. SQL-injections = fail.

Visa signatur

"Memory is like an orgasm. It's a lot better if you don't have to fake it." - Seymore Cray

Permalänk
Medlem

Tack, VRaptor. Det funkar nu.
Jag kan dock inte skicka vidare $pkey till sida C(aldrig nämnt innan).

För att ni enklast ska förstå så har jag tre sidor: home.php, reg_handler.php och subscription_handler.php
I home.php registrerar jag personuppgifter, och det skickas till reg_handler.php där jag matar allt i databasen. I slutet av filen skickar min header mig till subscription_handler.php där jag har en isset(); funktion som kollar om ett av prenumerationsvalen är ifyllda. Om dom har ett värde(alltså att man redan har valt vad man ska prenumerera på) så skrivs det in i databasen. Om man inte har ett värde så kommer formuläret fram där man får välja prenumeration.
När man har valt och trycker submit så skickas man till subscription_handler.php igen(nu har ju prenumerationen ett värde så koden med databaskopplingen körs). Problemet nu är att efter man har valt prenumeration så försvinner värdet för $pkey, men när man först kommer till prenumerationsvalen så funkar det.

Är säkert väldigt luddigt skrivet, säg till om nåt är oklart

Permalänk
Medlem

Jag fixade det
Lade till ett dolt fält som skickade värdet tillbaka till subscription_handler.php

Tack för all hjälp <3