Gå til innhold

Trenger hjelp med id=et_tall - Takk for hjelpen :)


Anbefalte innlegg

Hei!

 

Driver å lager en tutorial side, hvor folk kan registrere seg, så kan de legge til tutorials og sånn, regner med at det blir et slags ranking opplegg snart óg, men først må jeg få ferdig hovedtingene.

 

Det jeg nå har gjort, er å lage kategorier: PHP, ASP, ASP.NET og Photoshop så langt.

 

Der man kan legge til nye tutorials, velger man hvilken kategori den skal under, så velger man f. eks ASP.NET, så vil det automatisk kommer i databasen i feltet "category" stå dotnet. Da vil linken fra ASP.NET sida (?page=dotnet), bli slik:

echo "<a href=\"?page=" . $row['category'] . "&id=" . $row['id'] . "\">" . $row['title'] . "</a>";

og den vil f. eks linke til ?page=dotnet&id=35

 

Men det som er, er at da kan man selv skrive inn id=tall, men hvis tallet ikke finnes for en kategori, hvordan kan jeg få en melding som det f. eks står "Finnes ikke i denne kategorien"?

 

Altså...jeg går til ?page=php&id=5 men ID 5 finnes ikke i kategorien PHP, så da får man beskjed om det.

 

Har den !is_generic et eller annet, som sjekker om id er lik et tall, og hvis ikke, så inkluderer jeg en side som henter ut alle tutorialene for den kategorien.

 

 

 

Si ifra hvis det ble så mye at det er umulig å skjønne, hehe!

 

 

 

 

 

Mvh Anders Moen

Endret av Andy-Pandy
Lenke til kommentar
Videoannonse
Annonse

if (!mysql_num_rows(mysql_query("SELECT * FROM tabell WHERE kategori='$kategori' AND id='$id'"))) { die('Den finnes ikke osv'); }

 

eller noe slikt. bruk mysql_num_rows() hvertfall.

 

 

Merk forøvrig at is_numeric() godtar eksponent-notasjon og heksadesimale tall, så både '0xEA' og '1e1' er gyldige verdier.

 

Hvis du vil sjekke at noe bare inneholder 0-9 kan du enten bruke regex:

if (preg_match('/^[0-9]+$/', $var))

 

eller lage din egen funksjon som ikke bruker regex:

function is_number($var) {

if (is_int($var)) return true;

if (is_string($var) && $var === (string)(int)$var) return true;

return false;

}

 

Bare et lite tips :)

Lenke til kommentar

Vil bare legge til at i stedet for

PHP
<?php echo "<a href="?page=" $row['category'] . "&id=" $row['id'] . "">" $row['title'] . "</a>"?>

 

Så kan du skrive:

PHP
<?php echo "<a href="?page={$row['category']}&id={$row['id']}">{$row['title']}</a>"?>

 

Klammeparenteser eller hva det heter ( {} ) kan brukes mange steder i PHP.

Lenke til kommentar

Ja, jeg visste vel forsovet det, men jeg syns det er like greit å skrive det jeg er vant til.

 

 

Edit: dette blir den mest avanserte siden jeg har laget hittil, men siden jeg bruker index.php?page=et_eller_annet på alle sidene, tar jeg design til slutt. Nå har jeg bare lyst til å få selve systemet opp, hehe.

Endret av Andy-Pandy
Lenke til kommentar
*snip*

Klammeparenteser eller hva det heter ( {} ) kan brukes mange steder i PHP.

8058109[/snapback]

Dette vil ødelegge highlight i de fleste editorer, noe som gjør koden MINDRE oversiktlig. Jeg foretrekker den første skrivemåten, dog med litt mindre whitespace. Alt er jo smak og behag, men å ødelegge highlight tviler jeg på er noe andre setter pris på.

Lenke til kommentar
*snip*

Klammeparenteser eller hva det heter ( {} ) kan brukes mange steder i PHP.

8058109[/snapback]

Dette vil ødelegge highlight i de fleste editorer, noe som gjør koden MINDRE oversiktlig. Jeg foretrekker den første skrivemåten, dog med litt mindre whitespace. Alt er jo smak og behag, men å ødelegge highlight tviler jeg på er noe andre setter pris på.

8066514[/snapback]

Jeg baserer ikke koden min på at det skal se bra ut i programmet jeg bruker :)

 

Men jeg skjønner hva du mener. Selv om fargene virker i programmet jeg bruker.

Lenke til kommentar

lager et lite cms selv nå, og der driter jeg i hva folk sender inn som id. Etter tips fra php manualen selv så kjører jeg den bare igjennom sprintf med %u (unsigned int). Da vil det konverteres til et heltall uansett hva som kommer inn. sql injections og alt forsvinner pent :)

 

så får for eksempel

PHP
$sql = sprintf("select * from php where id=%u limit 1;", $_GET['id']);

$result = mysql_query($sql);

 

veldig greit synes jeg! Og så har jeg for ordens skyld laget en funksjon som heter noe sånt som category_exists($id) som jeg bruker til å sjekke om en id finnes for eksempel.

 

veldig kjekt synes jeg selv i hvert fall :p blitt veldig glad i sprintf og printf i det siste..

Endret av Tussi_qwerty
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...