NH
-
Innlegg
190 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av NH
-
-
sett på denne tråden hos nwf?
-
if(strpos($variabel, 'fisk')){ //inneholder fisk, men ikke nødvendigvis i begynnelsen } if(substr($variabel, 0, 4) == 'fisk'){ //Sjekker om de fire første bokstavene er 'fisk' }
er vel de mest vanlige metodene
-
-
vil bare påpeke at magic_quotes_gpc og mysql_real_escape ikke gjør helt samme jobben, mysql_real_escape_string escaper også
\x00, \n, \r, samt \x1a.
mens magic_quotes ikke escaper disse...
-
se på eksempel 3 her:
http://no2.php.net/mysql_real_escape_string
quote_smart() funksjonen der er fin fin til en oppgave som dette...
-
tenkte bare at timestamp er velid leselig med date() funksjonen..
f.eks date("d/m/Y", $timestamp_fra_db); returnerer en fedigformatert streng.
med strftime() kan du også få den til å si f.eks 25. Februar 2006 på _norsk_
Men som sagt, smak og behag...
-
har laget en klasse for det.
<?php //klassen her class random_img{ var $files = array(); function random_img($dir){ $this->getImages($dir); } function getImages($dir){ if(substr($dir, -1, 1) != '/' && !empty($dir)){ $dir .= '/'; //Dobbeltsjekk at $dir slutter med "/" for bruk av undermapper... } $dh = opendir($dir); while (false !== ($filename = readdir($dh))) { if($filename != '.' && $filename != '..'){ if(@getimagesize($dir.$filename) == true){ //echo "Bilde: $filename<br>\n"; $this->files[] = $dir.$filename; } if(is_dir($dir.$filename) == true){ //echo "<h2>Fant mappe: $filename</h2>\n"; $this->getImages($dir.$filename); //kjøre metoden igjen for flere bilder... } } } } function getRandImg(){ $imgid = mt_rand(0, count($this->files)); return $this->files[$imgid]; } } //Slutt på klasse $img = new random_img('bilder/'); //initier søkingen etter bilder, legg med første mappen her $randomimg = $img->getRandImg(); //hent et random bildeadresse echo '<img src="'.$randomimg.'" />'; //vis bildet... ?>
-
annbefaler å bruke TIMESTAMP til lagring av datoer og tid, denne er lett og manipulere og veldig nøyaktig da du kan mate den inn i date() funksjonen til php i andre parameter....
-
du spesifiserer ikke lengde på text, den er "uendelig".
VARCHAR | Brukes oftest til lagring av begrensede tekster, som brukernavn, epost adresser, stedsnavn etc.
en god tråd finnes her:
http://mysql.digipedia.pl/mysql/en/column-type-overview.html
tinyint, smallint, mediumint, int og bigint brukes til lagring av siffer
ta en titt her:
http://mysql.digipedia.pl/mysql/en/numeric-types.html
er vel hovedkolonne typene...
-
denne ligger i linken jeg ga,er det virkelig så vanskelig å bruke manualen? PHP APIen er jo genial... http://php.net/funksjon_du_vil_lese_om
Fra manualen:
<?php $dir = "/tmp"; $dh = opendir($dir); while (false !== ($filename = readdir($dh))) { $files[] = $filename; } sort($files); print_r($files); ?>
som sagt. scandir gjør denne jobben i en håndvri
$array = scandir('path/to/dir'); //sortert alfabetisk i stigende rekkefølge $array2 = scandir('path/to/dir', 1); //sortert i synkende rekkefølge
-
såklart, mente om han ville teste programmet, om ikke annet finnes det vel "workarounds" for de med litt mindre penger? Selv er jeg veldig fornøyd med valg av program, dreamweaver er vel ikke detspor billigere?
-
du kan få 30 dager gratis trial på zend.com...
-
-
Alltid greit at det blir sagt ifra dersom du glemmer et viktign tegn, du ser osgså automatisk om du har nok paranteser etc og kan dessuten spare deg for mye manual surfing... Genialt program for alle som lager php scripts og har nok ram (ja, suger ram, java crap )
-
ja, eneste ulempen er at den ikke fungerer med noen som er født før 1970
-
spørs helt hvordan du ser på det. jeg mener at i ogmed at vi var 20 dager inn i måneden blir det riktig. For hvor lenge er egentlig en måned?
man kan eventuelt hente ut antall dager siden bursdagsmåneden min, trekke i fra hvor mange dager det var inn i juni og hvor mange dager det mangler i måneden vi er i, (da calendar funskjonen kun henter ut for hele måneder) men er noe tungvindt...
-
ZDE (Zend Develepoment Envirenment) er genialt og laget av samme gutta som lage Zend Engine(Som php bruker).
Syntax higlighting er god. Programmet "kan" hele manualen og kan derfor fortelle deg flere mulige funksjoner, syntaxen på de og fullføre mens du skriver(kommer en dropdown liste med mulige funksjoner mens du skriver)
Den kan alle array keys til supergloabelene, har innebygget debugger(PHP motoren er innebygd for dette) Den har også en kode analysator som gir bedre mening i feilkodene og referer til manualen (samt viser et uttrag fra manualen), men kjører ikke koden og finner derfor ikke alle feil.
ZDE har også visning av feil med en rød understreks linje om du f.eks glemmer en semikolon en { eller } samt andre syntax feil på samme måte som skrivefeil i word.
Og dette er langt fra allt. kunne sannsynligvis fortsatt i dagevis. ZDE er programmet som kan ALLT når det kommer til php programering og er vell verdt pengene... (99 US $(ca 750 spenn))
-
beklager dette. hadde en liten bug i scriptet som fucket om du allerede har hatt bursdag. en oppdatert utgave:
<?php /** * @author Nicolai Haugen * @param int $year Fødselsår (f.eks 1986) * @param int $month Fødsels måned (f.eks 06 (juni)) * @param int $day Fødselsdag (f.eks 14) * @return int|array * @version 1.0 */ function alder($year, $month, $day){ $curr_year = date('Y'); $curr_month = date('n'); $curr_day = date('j'); if($day > $curr_day){ $num_days = $day - $curr_day; } else { $num_days = $curr_day; } if($month > $curr_month){ $num_months = $month + $curr_month; } else { $num_months = $curr_month; } $num_years = $curr_year - $year; if($month > $curr_month OR $day > $curr_day){ $num_years = $num_years - 1; } else { $num_days = $curr_day - $day; $num_months = $curr_month - $month; } return array('years' => $num_years, 'months' => $num_months, 'days' => $num_days); } ?>
fungerer på samme måten...
-
har du tilgang til PEAR er dette et VELDIG godt alternativ. spør du meg burde dette vært instalert på SAMTLIGE php servere. i XAMMP følger så å si alle pakker med.
her kan du ta en titt på DENNE pakken.
Et eksempel på bruk av PEAR::Mail
<?php include('Mail.php'); //includer PEAR fila //Motakere av mailen, kan legge til Bcc og cc etc her $recipients = array('To' => '[email protected]', 'Bcc' => '[email protected]'); //mailens headere, skal alltid være laget som array! $headers['From'] = '[email protected]'; $headers['To'] = '[email protected]'; $headers['Subject'] = 'Test message'; //Teksten vi ønsker å sende i mailen $body = 'Test message'; //Adressen til send $params["host"] = 'localhost';//Adressen til smtp serveren $params["port"] = 25;//The port to connect. Default is 25 $params["auth"] = false;//Whether or not to use SMTP authentication. Default is FALSE $params["username"] = 'brukernavn';//Brukernavnet på SMTP serveren (ikke alle smtp servere bruker dette) $params["password"] = 'pass';//Passordet tilhørende brukernavnet // Create the mail object using the Mail::factory method $mail_object =& Mail::factory('smtp', $params); $mail_object->send($recipients, $headers, $body); ?>
Som du ser gir denne klassen oss en ekstremt lett måte å sende avanserte mail på. Å sende med vedlegg er heller ikke noe problem
-
slett brukeren...
-
slå opp i manualen pleier å hjelpe,
En langt mere effetkiv metode:
if(substr_count($string_du_vil_sjekke), '.') >= 2) { //her er det 2 punktumer eller mere } else { //her er det 1 eller 0 punktum }
-
Ikke så vidt jeg vet, og jeg tviler på at webhosten din gir deg tilgang til filene om du så kan.
Det du eventuelt kan gjøre er å lage en tabell i db der du lagrer ipn, host, browser.
denne generer du ved innlogging og sletter ved utlogging.
LEgg til i sjekkingen om brukeren er logget inn at raden i databsen med dinne infoen må eksistere, om ikke, kjør logut prosess.
Da er det bare for deg i admin systemet ditt å slette denne raden ved force utlogging...
-
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
-
Det som blir drept når brukeren lukker browseren er kjeksen som inneholder Session IDn
Levetiden på denne kjeksen kan endres
fra php.ini:
session.gc_maxlifetime - Levetiden på session hos serveren
session.cookie_lifetime - Levetiden på kjeksen, denne levetiden er default satt til 0, dvs at den slettes npr bruker lukker browser.
session_set_cookie_params() kan hjelpe deg med å endre levetiden på kjeksen
problemer med tegn
i Programmering og webutvikling
Skrevet
dette kommer av magic_quotes_gpc (GPC = GET/POST/COOKIE) som automatisk escaper ' og " med \ og er der for sikkerhet opp imot mysql og lignende så slike tegn ikke skal gjøre noen skade i SQL spørringer og lignende.
av sikkerhetsmessige årsaker ville jeg heller brukt:
da ' og " blir gjort om til ' og " så di mister funksjonen sin, men vises som vanlig alikevel...