webForumDet fria alternativet

Anmälslista.

6 svar · 236 visningar · startad av Nilson

NilsonMedlem sedan aug. 2000167 inlägg
#1

Skulle behöva göra ett script med lite frågor såsom namn m.m. som skickas till mig via mail. så långt är allt klart. men jag skulle också vilja att tex namn fältet lagras på sidan på något sätt så att man innan man anmäler sig kan se vilka som redan gjort det. skulle detta gå att fixa i php? :l

------------------
<< d i g i t a l d r e a m e r >>

sgtpepperMedlem sedan apr. 20005 524 inlägg
#2

Javisst. Det enklaste sättet är att du använder dig av en enkel textfil. Ett annat sätt är att använda en databas, men det kanske du inte har tillgång till.

$fp = fopen ("anmalda.txt", "a");
fwrite($fp,"$namn \n");
fclose($fp);

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

NilsonMedlem sedan aug. 2000167 inlägg
#3

en svanström lösning :) !!
men det är bara det att jag inte fattar. kan du skriva i ett sammanhang så jag vet hur ja sedan anropar textfilen och vart jag ska lägga i koden i formuläret? pls.

------------------
<< d i g i t a l d r e a m e r >>

sgtpepperMedlem sedan apr. 20005 524 inlägg
#4

Ok, här kommer ett litet snabbt hack.

<html>
<body>

<?
	// Ange vilket filnamn som skall användas
	$filnamn = "anmalda.txt";

	// Kolla om formvariabeln namn är satt, isåfall skall värdet sparas
	if (isset($namn))
	{
		$fp = fopen ($filnamn, "a");
		fwrite($fp,"$namn<br>\n"); 
		fclose($fp);
	}

	// Hämta listan med anmälda personer
	$fp = fopen ($filnamn, "r");
	$anmalda = fread($fp, filesize($filnamn));
	fclose($fp);
?>

<b>Anmälda än så länge:</b><br>

<? 
	// Skriv ut innehållet i filen 
	print $anmalda; 
?>

<p>
<form action="<? print $PHP_SELF; ?>" method="post">
	Namn:<br>
	<input type="text" size=20 name="namn"><br>
	<input type="submit" value=" anmäl! ">
</form>

</body>
</html>

Scriptet börjar med att kolla om formvariabeln $namn är satt, om den är det så innebär det att användaren har fyllt i sitt namn och tryckt på submit-knappen. Värdet i $namn skall då sparas.

Sen läses hela filen in i variabeln $anmalda och skrivs ut på sidan.

Sist så visas formuläret där användaren kan fylla i sitt namn, variabeln $PHP_SELF innehåller automatiskt namnet på aktuellt script, så i det här fallet kommer alltså samma script som visar formuläret att anropas när användaren trycker på submitknappen och då spara resultatet. Om man vill kan man lägga den funktionen i en separat scriptfil.

[r] Om du kör i unix/linux-miljö så kan du skriva 'touch anmalda.txt' och sedan 'chmod 777 anmalda.txt' för att skapa en ny fil och sedan sätta rättigheterna på den så att scriptet kan skriva till filen. [/r]

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

[Redigerat av sgtpepper den 01 okt 2000]

KimMedlem sedan jan. 20003 571 inlägg
#5

Filen anmalda.txt behöver väl inte ha chmod 777? Den filen ska väl inte exekveras. Skriv istället
chmod 666 anmalda.txt

------------------
få, färre, färst

sgtpepperMedlem sedan apr. 20005 524 inlägg
#6

Jepp, rätt. 666 räcker, trodde dock att du Kim trivdes bättre med 777 än 666? ;) :e

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

KimMedlem sedan jan. 20003 571 inlägg
#7

:e

------------------
få, färre, färst

Genererad på 368 ms · cache AV · v20260730165559-full.f96bc7eb