Gå til innhold

function(farlig) virker ikke


Anbefalte innlegg

Videoannonse
Annonse

hvorfor setter du return $input = true og ikke bare return true? hvorfor trenger du å endre denne variabelen som det siste du gjør i funksjonen?

 

Det går fint å sette ! foran alle funksjoner. ! er en logisk operator. Har du ellers slått opp manualsiden for preg_match og sett hva den returnerer?

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?

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.

$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 ..

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

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...