I början av Januari 2014 låstes Whoa och du kan alltså ej logga in eller skriva något nytt i forumen. Innehåll i forum osv kommer finnas tillgängligt. Läs Mer »

Forumkonstruktion: Form som skickar med php-ID

Hobby & Fritid - Datorer & Teknik

   

2005-12-15 01:39

Forumkonstruktion: Form som skickar med php-ID

Håller på och kodar mitt första, simpla forum (yay). Har dock stött på ett problem:

När en användare klickar på en tråd, skickas tråd-id med som argument till den mottagande php-filen (ung som på whoa, anropet blir tex showThread.php?id=34). När jag där ska låta användaren posta ett inlägg, använder jag ett vanligt HTML-form (jag är medveten om att det kanske inte är optimalt). Problemet är att php-filen som formen anropar inte får reda på vilket tråd-id användaren befinner sig på, detta glöms så att säga bort. Bara info som användaren skrivit skickas med. Därmed vet det mottagande scriptet varken var i databasen inlägget ska sparas, eller vilken tråd som sedan ska reloadas.

Går detta att lösa utan cookies, och utan att frångå den enkla form-metoden? Eller hur löser man det minst krångligt?

Tackar och bockar!

Här är polisen som mitt i gatan står, niger och säger att nu är det vår

2005-12-15 02:13
"php-filen som formen anropar"
hur menar du? vilket fil?

Löser en sån sak såhär (editerat variablerna m.m.):

$query = "UPDATE databas SET post_rubrik='$post_rubrik',post_ innehall='$post_innehall' WHERE id_post=$id_post

antar att du använder MYSQL?
"Man bör inte prata med fula människor. Dom kan få för sig att det e okej att se ut så."
http://urr.nu

2005-12-15 02:14
det där är alltså en rad, $query....
"Man bör inte prata med fula människor. Dom kan få för sig att det e okej att se ut så."
http://urr.nu

2005-12-15 09:35
form action="filen.php?id=34"
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2005-12-15 09:44
eller aå använder du ett hiddenfield där du lagrar den
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2005-12-15 10:06
varför inte bara använda en querystring i själva html-formen ? altså typ "<form method="post" action="savemess.php?id=34"> ;"


det är ju de absolut enklaste, inte för att jag kan php för 5 öre men borde la vara samma som i asp :)
Niceness!

2005-12-15 10:08
Asexuell_hundvalp läs tråden innan du svarar ;P
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2005-12-15 10:15
nhoj, läste tråden medansj jag skrev, precis när jag trycka på "skicka" så såg jag ditt ^_^

sry o_O
Niceness!

2005-12-15 12:16
urr, asexuell hundvalp:

Alltså som jag fattat html-forms så har som alltid en action="målfil.php" och det är den filen som tar emot den postade datan?

nhoj:

id-värdet är ju dynamiskt så det går ju inte att skriva bara sådär... hiddenfield lät intressant dock, hur går det till?

något som ytterligare krånglar till det är att html-formet ligger i en XSL-fil, vilket gör det svårt (omöjligt?) att infoga php-snuttar i den.
Här är polisen som mitt i gatan står, niger och säger att nu är det vår

2005-12-15 13:18
action="målfil.php" är den fil som tar emot datan ja!

men grejen är den att du ju isåfall får lägga in htmlkoden i en php-fil som hämtar idt för det forum du ska skriva till typ länken skriv meddelande bli a href="formuläret.php?if=" sen på formulärsidan hämtar du bara innehållet i id, kollar om det är ett ok id förslagsvis så att det inte pajjar allt om någon pillar i url:en , och antingen skriver ut det i form action="filen_som_skriver.php?if=" eller lägga det i ett dolt fält. så skulle jag har gjort och det skulle nog alla andra också
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2005-12-15 21:04
hiddenfältet skulle bli något sånt här: <input type="hidden" name="threadId" value="<?=$_GET?&g t;" />

och om din nuvarande konstruktion av formuläret gör det "omöjligt" för dig att ändra formulärets funktion kanske du borde använda en annan metod för att skapa formuläret