webForumDet fria alternativet

PHP Todo

18 svar · 265 visningar · startad av per-v

per-vMedlem sedan maj 200165 inlägg
#1

Hej Pojkar och flickor...

Nu så börjar bli klar med mitt första PHP script någonsin ( :) ), det är en liten "todo" lista som en lirare behövde här på jobbet.

Ni får gärna gå in på
http://www.askfat.net/todo/index.php?namn=webforum

och kolla läget.

All kritik är välkommen... dålig eller bra, vilket som.

Tänk på att jag är riktig nybörjare.. he he.

Säkerheten är typ = 0 så ni behöver inte hacka sönder allt ;)

so long.

------------------
per.

PMedlem sedan jan. 20012 107 inlägg
#2

Jag skulle föredra att ha datumet i ett annat format.. 2001-01-01 eller något...

Får man fråga hur du gör för att få varanan <td> i olika färger? Får inte mitt att funka och vilket teckensnitt det är på bilderna?

En solklar vinnare :e

------------------
"Man kommer fortare fram till målet om man kryper åt rätt håll än springer åt fel håll"

jepsOMedlem sedan mars 2001423 inlägg
#3

Får man fråga hur du gör för att få varanan <td> i olika färger?

Tar mig friheten att svara på frågan ;)

När du loopar fram raderna kan du lägga med en variabel som ökar med 1 för varje rad. Sen nåt i den här stilen:

if ($variabel/2 = round($variabel/2)):
$color = "black";
else:
$color = "white";
endif;

<td bgcolor="<? echo($color); ?>">

Koden kan vara fel, men principen är som följer: Du kontrollerar om radnumret är ett udda eller ett jämnt tal. Udda rader får en färg och jämna en annan.

Btw, snyggt jobbat med sidan :e

------------------
/ jeps0

[Redigerat av jepsO den 29 maj 2001]

PMedlem sedan jan. 20012 107 inlägg
#4

Tack... precis vad jag var ute efter :e

per-v får gärna säga vilket teckensnitt det är på bilderna...

------------------
"Man kommer fortare fram till målet om man kryper åt rätt håll än springer åt fel håll"

per-vMedlem sedan maj 200165 inlägg
#5

Hallå..

Tack för kritiken!

P,

$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';

echo "<tr bgcolor=\"$bgColor\">";

"Small fonts" heter typsnittet jag använt mig av på knapparna, det följde med i Win2000.

so long

------------------
per.

RyzzenMedlem sedan mars 2000279 inlägg
#6

Vore det inte bättre om mam efter att man ändrat på ett inlägg kom direkt till antecknings listan.
Blir lite mycke klickande..

Vorre även bra när man skall deleta..Om det stod i popup rutan vilken anteckning det var frågan oom.

[Redigerat av Ryzzen den 30 maj 2001]

PMedlem sedan jan. 20012 107 inlägg
#7

Vad innebär den här koden?

$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';
echo "<tr bgcolor=\"$bgColor\">";

------------------
"Man kommer fortare fram till målet om man kryper åt rätt håll än springer åt fel håll"

Web-TorMedlem sedan nov. 200011 794 inlägg
#8

Jag tycker inte att du skall tillåta HTML.

Det fixar du med hjälp av htmlspecialchars :)

------------------
/Tor

Gör ett hembesök

KimMedlem sedan jan. 20003 571 inlägg
#9

Bättre att du använder htmlentities() istället. :)

------------------
404 - signature not found

ChavezMedlem sedan maj 20001 297 inlägg
#10

Vad innebär den här koden?

Det är ungefär som en if sats. Om det visar sig att uttrycket inom parentesen är sant så körs det första efter ?. Annars körs det efter :

Förresten, vad heter denna konstruktionen på svenska? Klurade på det när jag skrev om den i PHP skolan.

------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020

Köp, Byt eller Sälj på Gametrade.nu!

jepsOMedlem sedan mars 2001423 inlägg
#11

Jag är fortfarande inte riktigt med på sättet att skriva.

$bgColor = [b](++$i & 1)[/b] ? '#FFFFFF' : '#EEEEEE';

Ska det fetmarkerade föreställa en if-sats? :)

------------------
/ jeps0

PMedlem sedan jan. 20012 107 inlägg
#12

inte jag heller...

------------------
"Man kommer fortare fram till målet om man kryper åt rätt håll än springer åt fel håll"

per-vMedlem sedan maj 200165 inlägg
#13

Tack för tipsen pojkar, jag ska byta datum formatet, försöka ordna så att HTML inte fungerar, och kolla om man ska skicka iväg användaren direkt till noteringarna när man uppdaterat ett inlägg.

P och jepsO

<table>

<?

$fil = file("fil.txt");

while(list(,$varde) = each ($fil)){ 
list ($glass,$sort,$pris) = split("\&#0124;", $varde);

	$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';

echo "<tr bgcolor=\"$bgColor\"><td>$glass</td><td>$sort</td><td>$pris</td></tr>";

}
?>

</table>

------------------
per.

[Redigerat av per-v den 31 maj 2001]

jepsOMedlem sedan mars 2001423 inlägg
#14

Jojo, hur det ska implementeras förstår jag. Det är bara raden med (++$i & 1) som är oklar. Hur kan det uttrycket vara en if-sats? Vad innebär "++$i & 1"?

------------------
/ jeps0

SPiNMedlem sedan mars 20005 832 inlägg
#15

Om du har använt dig av VB nångongång finns det en funktion som heter Iif, som först kollar ett uttryck, om det är sant returneras en true-sträng, annars en false-sträng.
Används i VB så här:
variabel = Iif(2 > 1, "Truedelen som returneras", "Falsedelen som returners")
variabeln får värdet "Trudelen som returneras", eftersom att uttrycket är sant.

(++$i & 1) ? '#FFFFFF' : '#EEEEEE'; fungerar likadant, fast det är då PHP, C, C#, Java som använder den typen...

Om uttrycket är sant returneras '#FFFFFF', annars returneras '#EEEEEE'

Hänger ni med?

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

jepsOMedlem sedan mars 2001423 inlägg
#16

Det förstod jag också :e

Oklarheten ligger i hur (++$i & 1) ska kunna tolkas som en if-sats. Vad innebär "++$i", och vad efterfrågas med "& 1"? Om man skulle omforma uttrycket till en "if variabel = värde then", hur skulle den då se ut?

I mina ögon står det bara "variabeln i och 1" innanför parentesen. "++" är jag inte bekant med (enbart sysslat med ASP innan).

Ledsen om det börjar bli lite långdraget, men jag förstår verkligen inte sättet att skriva :O

------------------
/ jeps0

SPiNMedlem sedan mars 20005 832 inlägg
#17

Ärligt talat förstår jag inte riktigt det heller... Det är knappast så att det finns någon logik i det :)

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

nicclasMedlem sedan feb. 20001 061 inlägg
#18

En vanlig IF-sats ser ju ut så här
IF <test> THEN
<true result>
ELSE
<false result>

där <test> är det som skall provas tex om ett tal är udda eller ej. <test> returnerar alltid "sant" eller "falskt".
Vid sant körs <true result> och vid "falskt", <false result>

På samma sätt funkar ?:-konstruktionen

<test> ? <true result> : <false result>

I detta fall är test-operationen en operation för att avgöra om ett tal, $i, är udda eller jämnt.
(++$i & 1) innebär att först ökas $i med 1, plus-plus betyder öka med ett, &-operatorn är bitvis AND. Ett tal som är udda som AND-at med 1 returnerar "sant", ett jämnt "falskt".
(Vill man öka $i efter testet skriver man $i++.)

Jag hade nog använd "mod-operatorn" % istället:
$bgColor = (++$i % 2) ? '#FFFFFF' : '#EEEEEE';
resutlatet blir dock det samma...

/nicclas - www.nyhetsrubriker.com

[Redigerat av nicclas den 31 maj 2001]

spangoMedlem sedan juni 20006 147 inlägg
#19

(++$i & 1)
Betyder:
Öka på $i med ett och gör sedan bitvis OCH mot värdet 1.
Bitvis OCH med 1 resulterar i noll eller ett, och dessa kan som bekant användas som logiska värden. Sen ska ju koden se ut så här för att vara ball ;) :

# Innan loopen:
$färger = array('FFFFFF', 'EEEEEE');
$varv = 0;
...
# I loopen:
echo $färger($varv++ % 2);

Ang. TODO-listan
Tycker man ska komma till listan över anteckningar när man lagt till en anteckning, isf att hamna på "lägg till ny"-sidan.

\t Asch, Nicke han före

------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.

[Redigerat av spango den 31 maj 2001]

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