Avatar billede snigeren Nybegynder
30. april 2010 - 20:32 Der er 19 kommentarer og
1 løsning

fejlsøgning i if() sætning

følgende if sætning ligger i toppen af articles.php:

if($action=="articles")
{
$query1 = mysql_query("SELECT * FROM content_artikler where itemId=" . $_GET["itemId"] . "")or die(mysql_error());
}else{
$query1 = mysql_query("SELECT * FROM content_artikler where itemId=2")or die(mysql_error());
}
$artikler = mysql_fetch_array($query1);



Følgende liste af overskrifter bliver kreeret udfra indholdet i db´en:

$result = mysql_query("SELECT * FROM content_artikler ORDER BY itemId ASC")or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo '<a href="articles.php?itemId=' . $row["itemId"] . '&action=articles">' . utf8_encode($row["overskrift"]) . '</a><br><br>';
}


Det er så meningen at man kan trykke på en overskrift og indholdet bliver vist i feltet ved siden af.

Men når jeg trykker på "articles" siden viser den lige gyldig hvad kun indholdet på itemId=2 som er velkomst siden.

http://www.jernbanemaerker.dk/articles.php


Hvis jeg bare i det første script skriver:
$query1 = mysql_query("SELECT * FROM content_artikler where itemId=" . $_GET["itemId"] . "")or die(mysql_error());
$artikler = mysql_fetch_array($query1);

og laver linket således:
http://www.jernbanemaerker.dk/articles.php?itemId=2

virker det fint, men vil hellere lave det med en if så jeg ikke skal have ekstra på articles.php linket.
Avatar billede erikjacobsen Ekspert
30. april 2010 - 21:06 #1
Hvor giver du $action en værdi ?
Avatar billede snigeren Nybegynder
30. april 2010 - 21:24 #2
så spørger jeg lige måske dumt =) gør jeg ikke det her?:

<a href="articles.php?itemId=' . $row["itemId"] . '&action=articles">
Avatar billede erikjacobsen Ekspert
30. april 2010 - 21:47 #3
Det er fint nok, men hvor giver du $action en værdi?
Avatar billede dkfire Nybegynder
30. april 2010 - 21:51 #4
Måske OP skal bruge $_GET['action'] i stedet ?
Avatar billede erikjacobsen Ekspert
30. april 2010 - 22:04 #5
Jeg tror bare han har lavet en stavefejl i linien:

  $action=$_GET['action'];

...derfor jeg vil se den ;)
Avatar billede snigeren Nybegynder
30. april 2010 - 22:30 #6
ok det virker med
$action=$_GET['action'];

Men er det noget nyt i php5.2 og 5.3 i forhold til tidligere?

jeg mener da helt klart det plejer at være nok at skrive:
<a href="articles.php?itemId=' . $row["itemId"] . '&action=articles">  i linket og så virkede det bare... Det er fordi jeg har skiftet hjemmesiden fra cliche over til gigahost og så virkede lige præcis det her ikke =(

Jeg plejer ikke at assigne $action for at det virker...

Men ved ikke hvad det var for en version php der lå på cliche hotellet
Avatar billede dkfire Nybegynder
30. april 2010 - 22:52 #7
Der er sket en del sikkerhedsforbedringer i 5.2 og frem.

Bl.a. er register_global slået fra som standard.
Det er register_global som du har gjort brug af i din kode.
Det kan udgøre en sikkerhedsrisiko at bruge denne feature.
Avatar billede erikjacobsen Ekspert
30. april 2010 - 23:00 #8
Hmm, ok, der er lige et par ting man skal vide

1) Det er tudse-gammelt at en ?action=... gav anledning til en $action variabel af sig selv. Det er mange år siden det var state-of-the-art.

2) Møder man en webserver, der stadig gør det, skal man løbe skrigende væk i panik. Eller reparere indstillingen.

3) Møder man en person, der advokerer at det er måden at gøre det på, skal man ikke invitere vedkommende med til fest.

4) Finder man bøger, der postulerer det, skal de brændes. Alternativt skal de forsynes med en advarsel med selvlysende bogstaver.

...men godt det virker nu...
Avatar billede Slettet bruger
30. april 2010 - 23:01 #9
Hvis det har virket før er det pga. "global variables" har været sat til i de tidligere PHP indstillinger.
Vil give dig det råd at du vender dig til at kode som om "global variables" er slået fra, lige meget om det er slået til eller er slået fra.
Og hvis du har mulighed for at ændre i PHP indstillingerne, så slå det fra hurtigst muligt :-)

OBS: I PHP indstillingerne heddet det "register globals" og ikke "global variables".
Avatar billede Slettet bruger
30. april 2010 - 23:01 #10
Hov så slet ikke post #7 og #8 var skrevet, så ja...
Avatar billede snigeren Nybegynder
01. maj 2010 - 10:48 #11
ok det forklarer en del, det er også én af grundene til at jeg har forladt cliche, vidste ikke hvor ringe de var før for nylig. =(

Man kan heller ikke engang uploade større filer end 50mb det er jo latterligt! De siger det er for at undgå fildeling, bah!

Nå anyways tror jeg at jeg vil have fat i en go php bog, vil lære mere for det kode jeg har skrevet før i tiden er ikke sikker, så det skal opdateres.

Kan i anbefale en go bog til en, lets face it, begynder? Gerne en med masser tutorials...

Kan i ikke lige smide svar så fordeler jeg point, hvis erik stadig ikke ønsker point kan jeg bare gi dig nul og dkfire resten =) men vil jo gerne anerkende dit svar stadig.
Avatar billede olebole Juniormester
01. maj 2010 - 20:22 #12
<ole>

Der er næppe ret mange, der vil rose Cliche for noget somhelst, meeeeeeen ......

Somme vil nok argumetere for, at det er latterligt at forestille sig, man kan oploade mere end 50MB til et ultra billigt hotel. Folk, der kan finde på at uploade så store filer, kan meget ofte også finde på at uploade billeder i den størrelse og begynde at lave serverside billedbehandling. Dét er latterligt!  ;o)

/mvh
</bole>
Avatar billede erikjacobsen Ekspert
01. maj 2010 - 20:28 #13
Ingen svar fra mig. Du må klare dine "point-problemer" på anden vis, snigeren.

Jeg kender ingen "god bog" - men det kommer med tiden, flere års erfaring kan anbefales.

Og dejligt at se at du, Ole, stadig har dit livsbekræftende og optimistiske syn på verden. :)
Avatar billede olebole Juniormester
01. maj 2010 - 20:35 #14
Tusind tak! Kan man forlange mere end ros fra sin inspirator og læremester udi den livsbekræftende optimisme?  ;D
Avatar billede dkfire Nybegynder
01. maj 2010 - 21:03 #15
Så lægger jeg et svar.

Men jeg må nu give Ole ret.
Du får hvad du betaler for, og have en hjemmeside hos en billig host betyder meget sjældent at der er brug for store filer.
Avatar billede olebole Juniormester
01. maj 2010 - 21:12 #16
dkfire >> husk svaret  ;o)

En nok så vigtig detalje er, at hvis man upper et billede på 50MB og begynder at formindske det og evt. også lave en thumbnail, kommer man let op på et meget stort hukommelses forbrug. En faktor 4-10 er ikke ualmindeligt ... hvilket i så fald pludselig betyder et RAM-forbrug på 500MB!

Personligt har jeg ikke lyst til at dele server med ret mange af den slags applikationer  ;o)
Avatar billede dkfire Nybegynder
01. maj 2010 - 21:21 #17
he he, ja jeg tænkte det nok.
Avatar billede snigeren Nybegynder
02. maj 2010 - 00:44 #18
tak for de rare input =)

Det jeg nu mente man skulle bruge mere end 50mb til er at uploade f.eks. en rar fil med en masse billeder fra en skiferie som de andre fra ferien skulle have. Så er det lidt skidt man ikke kan ftp uploade mere end 50mb...

Oh well er hos gigahost nu har 6gb og fri trafik, og et rigtig rart kontrolpanel til at styre alt det normale man nu skal kunne med sine domæner databaser og php config osv. og så koster det stadig kun 20kr pr md =)

anyways tak for hjælpen =)
Avatar billede olebole Juniormester
02. maj 2010 - 02:25 #19
Okay, jeg troede, du mente 50MB HTTP-upload  =)
Avatar billede olebole Juniormester
02. maj 2010 - 02:26 #20
Okay, jeg troede, du mente 50MB HTTP-upload  =)
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