Gå til innhold

function(farlig) virker ikke


Anbefalte innlegg

Holder på å lære meg å lage egne funksjoner nå.

<?php
function farlig($input)
{
preg_match('/^[a-zæøåÆØÅ0-9!\?\s\.\-]+$/i', $input);
}

if (!farlig($navn)){
echo "Ugyldige tegn i navn.";
}
?>

 

denne gir feil uansett.. er det ikke mulig å bruke ! på egne funksjoner?

Endret av kennteh
Lenke til kommentar
Videoannonse
Annonse

takk for hjelp =)

 

men så har jeg et lite spørsmål til..

i gjesteboka så lagrer jeg ip og et timestamp når brukeren legger inn en hilsen. hvordan kan jeg få sjekket opp mot det når det blir lagret et nytt innlegg?

eventuelt slik at bare de fem siste innleggene blir sjekket, så det ikke tar for lang tid for mysql å sjekke gjennom?

Lenke til kommentar

quote Dabear "og en ting;navn skal uten unntak være engelske."

 

Det står ingen plass at funksjons navn, variabler etc. skal være engelsk. Om det blir lettere for deg å bruke norske navn, da gjør du det. det eneste du trenger å tenke på er bruk av ÆØÅ. en enkel løsning er å bruke ae = æ, o = ø, aa = å. Skal du derimot jobbe sammen med flere kodere fra forskjellige land, kan det være en ide å bruke engelske navn.

Lenke til kommentar

1:lagre brukerens ip i databasen ved posting av nytt innlegg.

2:Lagre også med time() når brukeren poster(i egen kolonne selfølgelig)

3: Ved posting hent ut siste rekke fra ipn.

4: hvis tid_fra_db + 900 > time(), la han poste, hvis ikke send ham error...

Lenke til kommentar

$tiden = time();
$ip = $_SERVER["REMOTE_ADDR"];

$queryshiit = "SELECT * FROM $tabell WHERE ip='$ip'";
$shiit = mysql_query($queryshiit);
$gjest = mysql_fetch_array($shiit);

$tid = $gjest[tid] + 900;

if ($tid > $tiden){
$query = "INSERT INTO $tabell (navn, melding, ip, tid) VALUES ('$navn', '$melding', '$ip', '$tiden')";
$result = mysql_query($query);
}else{echo "Du må vente bittegranne!";}

slik? det funker ikke ..

Lenke til kommentar

gjerne bruke mysql sine, men ikke datetime. tragisk i dette tilfellet (dessuten er timestamp my lettere jobbe med enn datetime)

 

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$sql = sprintf("SELECT tid FROM %s WHERE
   tid+900 > CURRENT_TIMESTAMP() AND
   ip='%s'
   LIMIT 1",
   $tabell,
   $ip);
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0){
$query = "INSERT INTO $tabell (navn, melding, ip, tid) VALUES ('$navn', '$melding', '$ip', '$tiden')";
$result = mysql_query($query);
}
else{
echo "Du må vente bittegranne!";
}

?>

 

 

sett kolonnen med tiden som TIMESTAMP og default som CURRENT_TIMESTAMP() så lagrer tiden seg automatisk

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