Slet-funktion i Whileløkke

Tags:    php mysql

Halløj udviklere, jeg står med et lidt irriterende problem, som jeg efter mange søgninger og forsøg simpelthen ikke kan løse, det er sikkert meget enkelt når jeg lige får det forklaret, men jeg kan simpelthen ikke hitte ud af det!
Problemer er, at jeg forsøger at lave en form for download side, hvor jeg har fyldt nogle oplysninger ind i mySQL, og så har jeg brugt en while-løkke til, at trække ALLE "titlerne" ud.
Det hele virker fint, men nu vil jeg gerne have mulighed for, at kunne slette dem igen, når de er trukket ud med while-løkken, altså når de er på siden.
Mit problem bunder i, at jeg ikke kan se for mig, hvordan jeg gør, så det ikke er "det samme" den sletter hver gang, altså så den får et nyt link til hver titel i while-løkken.

Håber i forstår spørgsmålet, ellers skal jeg med glæde forsøge at omformulere!

På forhånd tak.

Rasmus Ishøi aka. Klytteren(.dk)



8 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 19 karma
Sorter efter stemmer Sorter efter dato
Hej Rasmus,

Måden du gør dette på er ved at benytte $_GET og så definere hvilket id du ønsker at slette.

Jeg har lavet et eksempel til dig:
Fold kodeboks ind/udPHP kode 


Håber dette var hjælpen du skulle bruge til at komme videre med din kode :)



Når du får input fra browseren/brugeren - om det så er i form af _POST eller _GET variable - så SKAL du altid forvente det værste :-) Så du skal altid sørge for at tjekke det. Er der input, er det den type jeg forventer osv...

At escape input er i dit tilfælde nok, da det værste der kan ske ved et input til din SQL query, som ikke er et rigtigt bruger id, er at der ikke bliver slettet noget. Hverken WHERE id ='' eller WHERE id = 'hejsøde' vil være nogen katastrofe.

Du kunne alternativt vælge at bruge is_numeric() som tjek på $_GET['id'] i din if og springe escapeing over. Den vil returne false med mindre det er et tal...



Hej Rasmus,

Jeg er glad for du kunne bruge min hjælp :)

Ja det er en rigtig god ide at huske mysql_real_escape_string, på alle GETS og POSTS jeg glemte det selv første gang jeg begyndte at skrive php og ende med en hacket side og en tom database det var ikke særlig fedt.





Hej Malte, det ser jo rigtigt logisk ud.. Jeg vil lige prøve det senere, og så skal jeg nok lige give feedback.

Angående mysql_real_escape_string, er det noget der er vigtigt at have gennem alle koder, eller hvordan siden du siger jeg skal huske det på alle mine GETS og POSTS ? :)

Jeg siger tusinde tak for det, fedt at du gider tage dig tid til at hjælpe en amatør som mig ;)

EDIT:
Så fik jeg testet, og det virker jo præcis som det var udtænkt, aner ikke hvorfor jeg ikke har studset over denne metode... Men tusinde tak for det igen, så kan jeg komme videre med mit projekt :)



Rasmus Ishøi aka. Klytteren(.dk)



Indlæg senest redigeret d. 01.02.2012 19:31 af Bruger #16767
Arh okay, det må jeg til at tænke over fremover :)



Hehe nej det kunne jeg forestille mig, men det er fedt du liger smider det med som en bonus info, for ellers sidder jeg jo pludseligt i saksen en dag ;)



Som udvikler skal man jo lære af sine fejl og så gør det ikke noget at give sin erfaring videre til andre så de slipper for alt det bøvl :)



Indlæg senest redigeret d. 01.02.2012 22:50 af Bruger #16751
Endnu en bonus info - mysql_real_escape_string er altså ikke altid nok. Nogen gange er det nødvendigt med et grundigere tjek. Især type tjek kan være smart her. :-)



t