Gå til innhold

Sjekk om $_GET['s'] har en verdi mellom to tall


Anbefalte innlegg

Går det ann å sjekke om $_GET['s'] = 1-100 eks.?

 

Dette vil jeg gjøre jeg skal liste en og en nyhet, og si jeg har 78 nyheter.

 

Da vil jeg dette.

 

$rows = mysql_query("SELECT * FROM $table");

$num_rows = mysql_num_rows($rows);

 

if ($_GET['s'] = mellom 1 og $num_rows) {

/vis nyhet

}

else {

//error

}

 

Skjønner dere?

 

Vis brukeren fikler med url'en og skriver "hest"(eks) kommer det en error, vis brukeren skriver et tall mellom 1 og antall rader(78) vises nyheten.

(Btw jeg mener ikke noe sån derre is numeric greier bare sjekke om det er et tall mellom 1 og antallrader)

 

 

Takk for svar!

Lenke til kommentar
Videoannonse
Annonse

$rows = mysql_query("SELECT * FROM $table");

$num_rows = mysql_num_rows($rows);

$s = $_GET['s']

 

if(!is_numeric($s))

{

die("error");

}

if (0 < (int)$s <= $num_rows) {

/vis nyhet

}

else {

//error

}

 

mhbakke: tror ikke scriptet ditt vil vise den siste posten (< $num_rows)

 

tehextinct: husk at hvis du sletter nyheter fra tabellen så dukker det opp hull i id colonnen (altså ikke alle tallene henger sammen) da vil count generere et tall som er lavere en id'en til det siste innlegget. (dersom du bruker int med auto_increment da)

 

en løsning kan være å hente et array:

 

$qry = "select id from $table";

if(!$res = mysql_query($qry)) die(mysql_error());

$ids = array();

$i = 0;

while($arr = mysql_fetch_assoc($res))

{

$ids[$i] = $arr['id'];

$i++;

}

 

så se om in_array((int)$_GET['s'], $ids)

Endret av grimjoey
Lenke til kommentar
if(!is_numeric($_GET['s'])
{
die("error");
}
if ($_GET['s'] > 0 && $_GET['s'] < $num_rows)
{
//Suksess
} else {
//Feil
}

 

Edit: Glemte is_numeric :blush:

8513699[/snapback]

 

Fikset litt på den :p gjorde om $_GET['s'] < $num_rows til $_GET['s'] <= $num_rows så viket det akkurat slik som jeg vill ha det!

if(!is_numeric($_GET['s'])
{
die("error");
}
if ($_GET['s'] > 0 && $_GET['s'] <= $num_rows)
{
//Suksess
} else {
//Feil
}

 

 

Takk alle sammen!! :love: Scriptet ble ca. 10ganger forbedret takke være dere :thumbup::)

Endret av tehextinct
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...