Peter Skrevet 3. september 2007 Del Skrevet 3. september 2007 *snip* 9398759[/snapback] Hvordan skal $Host, $User, $Pass og $db ikke være satt (jfr. isset()) i konstruktøren? Burde du ikke heller bruke !empty() ?Du burde ikke gi dem standardverdi uansett, når all infoen er påkrevd? 9411899[/snapback] Som han sa sjølv så er ikkje verdiene påkrevd, vist du ikkje skrive inn noe så skal klassen hente dei som er koda inn eit par linjer over. 9412712[/snapback] De standardverdiene vil aldri bli brukt av nettopp den grunnen jeg oppga. Interactive mode enabled <?php $x = ''; var_dump(isset($x)); bool(true) var_dump(empty($x)); bool(true) De verdiene han har skrevet inn i det array, er nettopp de verdiene som stå som standardargumenter, for akkurat nå så nulles bare ting ut. Dette er problemet med denne tråden, som jeg tror har blitt nevnt tidligere. Kvaliteten på mye av koden er langt under par. Jeg beundre folks vilje til å ville dele. Virkelig, det er helt supert, men dessverre er veldig mye her bare søppel. Nei, ingen tvinger meg til å bruke noe her, men når folk klipper og limer ukritisk herfra inn i produksjonsmiljø, så får vi nye tele2-episoder. Lenke til kommentar
Runar0 Skrevet 7. september 2007 Del Skrevet 7. september 2007 Joda, er klar over at han bør bruke empty, sikta til den siste setningen din i quoten min. Lenke til kommentar
itsmebth Skrevet 7. september 2007 Del Skrevet 7. september 2007 (endret) Her er MySQL-klassen min: http://norskwebforum.no/pastebin/9460 La den ut på NWFs pastebin, forumet her liker den visst ikke. Lisensiert under GNU GPL (http://www.gnu.org/licenses/gpl.txt) Tilbakemeldinger mottas med en takk. Endret 7. september 2007 av itsmebth Lenke til kommentar
Peter Skrevet 7. september 2007 Del Skrevet 7. september 2007 Her er MySQL-klassen min:http://norskwebforum.no/pastebin/9460 La den ut på NWFs pastebin, forumet her liker den visst ikke. Lisensiert under GNU GPL (http://www.gnu.org/licenses/gpl.txt) Tilbakemeldinger mottas med en takk. 9448823[/snapback] Ser ut som en flott klasse, selv om jeg stadig lurer litt på hvorfor folk finner opp hjulet ( http://no.php.net/manual/en/ref.pdo.php, http://no.php.net/manual/en/ref.mysqli.php ) nytt (med mindre det er i læringsøyemed). Likte veldig godt Query- og QuoteSmart-metodene din, men jeg synes det burde være en mulighet til å få et numerisk array også fra Fetch, f.eks. ved en konstant: Fetch( mySQL::NUM ) eller Fetch ( self::NUM ) e.l Ellers har jeg veldig lite å utsette på koden, men heller på kodestilen. a) Egentlig veldig lite fan av camelCase i PHP ettersom språket er case-insensitivt, MEN du er helt konsekvent i metodekallene også, så det er fremoverkompatibelt. b) Du er inkonsekvent i navngivingen av metodene dine. I mySQL begynner alle metodene med stor forbokstav, mens i mySQLException bruker du små forbokstaver for å følge metodenavnene fra PHPs Exception-klasse. Så lenge PHP er case-insensitivt har ikke dette noe å si, men i fremtiden kan det bli forvirrende for brukerene dine (å forholde seg til "metodenavnestilen" mySQL-klassen i forhold til mySQLException-klassen) Men i bunn og grunn: Topp klasse som holder meget høy standard og faktisk hører hjemme i denne tråden, i motsetning til en del andre kodesnutter postet her. Flott dokumentert også! Lenke til kommentar
Anders Moen Skrevet 23. oktober 2007 Del Skrevet 23. oktober 2007 Har selv lett etter denne koden lenge, og nå fant jeg ut hvordan man kan sjekke om en bruker er logget på eller ikke fra phpBB-forumet sitt. <?php session_start(); define('IN_PHPBB', true); $phpbb_root_path = './phpBB2/'; include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); // // Start session management // $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); // // End session management // if($userdata['session_logged_in']) { echo('Hi ' . $userdata['username'] . '!'); } else { echo('You are a guest'); } ?> Kilde: http://www.phpbb.com/kb/article/phpbb2-sessions-integration/ Lenke til kommentar
PHPdude Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 Valg av tegnsett har vært/er et problem og særlig for websider, den ultimate løsningen er å konvertere alt til Unicode så her er mitt bidrag, et script som leser alt av filer i en mappe og oppretter en kopi med valgte tegnsett: <?php header('Content-Type: text/plain'); /** * Old character encoding */ $oldEncoding = 'ISO-8859-1'; /** * New character encoding */ $newEncoding = 'UTF-8'; /** * Directory containing files with the old encoding */ $dir = './oldDir'; /** * Path where to save converted files * * NOTE: Must be a empty and writable directory */ $destDir = './newDir'; $dirIterator = new RecursiveDirectoryIterator($dir); $iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::SELF_FIRST); $count = 0; if(!is_writable($destDir)) { throw new Exception('No write permission to destination: ' . $destDir); } foreach($iterator as $file) { $count++; echo "\n" . str_repeat("\t", $iterator->getDepth()) . $file->getPathname(); if($file->isDir()) { continue; } if(!$file->isReadable()){ echo "\nERROR: File not readable!\n\n"; continue; } $path = substr($file->getPathname(), strlen($dir)); $content = file_get_contents($dir . $path); $newFilepath = $destDir . $path; if(false === ($converted = iconv($oldEncoding, $newEncoding, $content))) { echo "\nERROR: Conversion failed!\n\n"; } $dirname = dirname($newFilepath); if(!file_exists($dirname)) { mkdir($dirname, 0777, true); } file_put_contents($newFilepath, $converted); } echo "\n\nTotal: $count\n"; - De dokumenterte variablene i starten er ment å endres. - ext/iconv er nødt til å være installert. - Scriptet kan fint kjøres gjennom en webserver, men er nok best å kjøre det gjennom terminalen med sin egen bruker sånn at rettighetene til de nye filene blir riktig. - Viktig at det gamle tegnsettet er oppgitt riktig, ellers vil resultatet kunne bli ikke bare feil, men ubrukelig. - Lisens: Public Domain eller BSD License Lenke til kommentar
thadon Skrevet 1. januar 2008 Del Skrevet 1. januar 2008 Noen som har en kode som vidresender person en til en side jeg bestemmer? Lenke til kommentar
jokkakim Skrevet 1. januar 2008 Del Skrevet 1. januar 2008 (endret) header ("Location: http://siden.com"); ? Endret 1. januar 2008 av jokkakim Lenke til kommentar
Jonhoo Skrevet 5. januar 2008 Del Skrevet 5. januar 2008 Har nylig programmert en ekstremt nyttig klasse for administrasjon av output buffering.. Den lar deg legge til uendelig antall funksjoner som skal kjøres, i tillegg til at den lar deg bruke funksjoner med flere argumenter. Den tillater også at du bruker funksjoner i classer, både gjennom klassen direkte og gjennom objekter. Se mer her: http://www.phpclasses.org/browse/package/4308.html Lenke til kommentar
loathsome Skrevet 27. januar 2008 Del Skrevet 27. januar 2008 Ingen av oss gidder å registrere oss på den siden for å laste ned klassen din. Vil du være så vennlig å poste den her i stedet? Lenke til kommentar
Jonhoo Skrevet 27. januar 2008 Del Skrevet 27. januar 2008 Er en veldig annerkjent side for PHP klasser, men kan godt legge den til her også =) I ZIP filen ligger både eksmpelfil og selve klassen. //Jonhoo obh_2007_12_28.zip Lenke til kommentar
Wedvich Skrevet 1. februar 2008 Del Skrevet 1. februar 2008 Her er en funksjon som lager en Salted SHA hash av en tekststreng. Veldig grei og sikker måte å kryptere passord på, for eksempel. function hash_ssha($str) { mt_srand((double)microtime() * 1000000); $salt = pack('CCCC', mt_rand(), mt_rand(), mt_rand(), mt_rand()); return ('{SSHA}' . base64_encode(pack('H*', sha1($str . $salt)) . $salt)); } Og her er funksjonen for å se om hashen stemmer med en tekststreng: function validate_ssha($hash, $str) { $ohash = base64_decode(substr($hash, 6)); $osalt = substr($ohash, 20); $ohash = substr($ohash, 0, 20); return ($ohash == pack("H*", sha1($str . $osalt))); } Jeg har ryddet opp i og forkortet dem en del, men det er ikke jeg som har laget de originale funksjonene. Lenke til kommentar
Shurom Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 (endret) Lagde meg ett aldri så lite script som teller antall linjer i tekstfiler, både enkeltfiler og hele mapper med tekstfiler. <?php // Konfigurasjon: $mapper[] = "include"; //legg til så mange mapper med tekstfiler som du vil $enkeltfiler[] = "index.php"; //legg til så mange enkeltfiler som du vil $enkeltfiler[] = "stilsett.css"; //mapper foreach($mapper as $dir){ $filer = scandir($dir); foreach($filer as $fil) { $linjer += count(file("$dir/$fil")); $tellfiler++; } } //enkeltfiler foreach($enkeltfiler as $fil) { $linjer += count(file("$fil")); $tellfiler++; } //output echo "Det er $linjer linjer i $tellfiler filer."; //Skrevet av Sjur Mathiassen ?> Endret 12. mars 2008 av Shurom Lenke til kommentar
Lokaltog Skrevet 8. mai 2008 Del Skrevet 8. mai 2008 (endret) Lokaltogs geniale CSS-cache Hva gjør scriptet? Dette scriptet cacher dine CSS-filer, både i ren tekst og gzippet. Du kan lagre flere stilark, og dette scriptet kombinerer alle sammen til ett stilark for å redusere antall requests til serveren. PHP må kompileres med støtte for gzip for at scriptet skal fungere. I tillegg til dette har scriptet støtte for CSS-variabler: @variables{ default-size: 11px; default-font: arial,sans-serif; } html,body{ font: var(default-size) var(default-font); } Scriptet klipper automatisk bort alle kommentarer og unødvendig whitespace for å redusere filstørrelsen til et absolutt minimum. Dette reduserer lesbarheten, men det fine er at det ikke påvirker originalfilene dine på noen måte! Du kan strukturere CSS-en din på den måten som passer deg best, og dine besøkende vil slippe å laste ned unødvendige data. Bruksanvisning Legg PHP-filen i samme mappe som stilarkene som du kaller style.*.css (f.eks. style.hovedside.css). Poenget er at de må begynne på "style" og slutte på "css". Kall PHP-filen for hva du vil, gjerne style.php. Du må ha skrivetilgang til mappen scriptet ligger i (CHMOD 0777). Gå deretter inn på scriptet gjennom nettleseren din: http://example.com/css/style.php?r=1. Parameteret r=1 oppdaterer cachen. Det er ikke nødvendig å gjøre dette andre ganger enn når du har oppdatert CSS-filene dine. Legg deretter følgende linje til i head i dokumentet som skal bruke CSS-en, og du er ferdig: <link rel="stylesheet" type="text/css" href="/css/style.php"> Hvis du bruker scriptet, er det hyggelig om du sier ifra slik at jeg kan se hvordan det funker i praksis. Mer enn det forlanger jeg ikke. Håper det er nyttig for noen. Koden følger: <?php /** * Lokaltogs geniale CSS-cache * www.lokaltog.net * * @author Kim Silkebækken <[email protected]> * @version 2008-05-08 */ $refresh = isset($_GET['r']); $cache_uncompressed = 'cache.uncompressed.bin'; $cache_compressed = 'cache.compressed.bin'; if ($refresh) { /* Read style sheets */ $css = ''; if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if (substr($file, 0, 5) == 'style' && substr($file, -3) == 'css') { $css .= file_get_contents($file); } } closedir($handle); } /* Replace CSS variables */ $css = css_vars($css); /* Clean CSS */ $css = preg_replace('`/\*.*\*/`', '', $css); $css = trim(preg_replace_callback('`([^\{]+)\{([^\}]+)\}`is', 'css_cleanup', $css)); /* Compress */ $compressed = gzcompress($css, 9); file_put_contents($cache_uncompressed, $css); file_put_contents($cache_compressed, "\x1f\x8b\x08\x00\x00\x00\x00\x00". $compressed); } if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) { $encoding = 'gzip'; } elseif (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) { $encoding = 'x-gzip'; } else { $encoding = false; } $modified = filemtime($cache_uncompressed); if (strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $modified) { header('HTTP/1.1 304 Not Modified'); header('Last-Modified: '. gmdate('D, d M Y H:i:s', $modified) .' GMT'); die(); } if ($encoding) { $contents = file_get_contents($cache_compressed); header('HTTP/1.1 200 OK'); header('Last-Modified: '. gmdate('D, d M Y H:i:s', $modified) .' GMT'); header('Content-Type: text/css; charset=utf-8'); header('Content-Encoding: '. $encoding); header('Content-Length: '. strlen($contents)); echo $contents; } else { $contents = file_get_contents($cache_uncompressed); header('HTTP/1.1 200 OK'); header('Last-Modified: '. gmdate('D, d M Y H:i:s', $modified) .' GMT'); header('Content-Type: text/css; charset=utf-8'); echo $contents; } /* Cleanup callback */ function css_cleanup($matches) { $selector = trim($matches[1]); $properties = trim($matches[2]); preg_match_all('`([^:]+):([^;]+)[;\n]?`', $properties, $matches); $cleaned_properties = array(); foreach ($matches[1] as $key => $property) { $property = trim($property); $value = trim($matches[2][$key]); $value = preg_replace('`[\t\r\n ]+`', ' ', $value); $cleaned_properties[] = "$property:$value"; } $properties = join(";", $cleaned_properties); if (!$properties) { return null; } return $selector .'{'. $properties ."}\n"; } /* CSS variables support */ function css_vars($css) { preg_match_all('`@variables[^\{]*\{([^\}]*)\}`is', $css, $matches); preg_match_all('`([^:]+):([^;]+)[;\n]?`is', $matches[1][0], $matches); $var = array(); $val = array(); foreach ($matches[1] as $k => $v) { $var[] = 'var('. trim($v) .')'; $val[] = trim($matches[2][$k]); } $css = preg_replace('`@variables[^\{]*\{([^\}]*)\}`is', '', $css); return str_replace($var, $val, $css); } ?> Endret 8. mai 2008 av Lokaltog Lenke til kommentar
Kenneth Dammyr Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 ### Har fjernet noen poster her nå. Forstår absolutt behovet for å kommentere ting som ikke funker etc, men er også lettere å finne fram hvis det ikke er masse debatt mellom kodesnippene. Lenke til kommentar
Raring Skrevet 11. juni 2008 Del Skrevet 11. juni 2008 (endret) Har ofte irritert meg over print_r() og hvor uoversiktelig output den gir, så jeg laget meg en funksjon for å printe multi-dimensjonale arrays på en oversiktelig måte som funker bra når man man debugger. Den kan også printe ut hva key'en til alle verdiene slik at det blir noe lettere når du skal ha tak i én verdi. Funksjonen har to parametere, først arrayet som skal printes også null eller en avhengig om key'ene skal printes eller ikke. Koden: Array ---> $array [0] => Array ---> $array[0] [0] => "Hei" ---> $array[0][0] [1] => "På" ---> $array[0][1] [2] => "Deg" ---> $array[0][2] [1] => Array ---> $array[1] [0] => Array ---> $array[1][0] [0] => "Hei" ---> $array[1][0][0] [1] => "På" ---> $array[1][0][1] [2] => "Deg" ---> $array[1][0][2] [1] => Array ---> $array[1][1] [0] => Array ---> $array[1][1][0] [0] => Array ---> $array[1][1][0][0] [0] => "Hei" ---> $array[1][1][0][0][0] [1] => "På" ---> $array[1][1][0][0][1] [2] => "Deg" ---> $array[1][1][0][0][2] [1] => Array ---> $array[1][1][0][1] [0] => Array ---> $array[1][1][0][1][0] [0] => Array ---> $array[1][1][0][1][0][0] [0] => "Hei" ---> $array[1][1][0][1][0][0][0] [1] => "På" ---> $array[1][1][0][1][0][0][1] [2] => "Deg" ---> $array[1][1][0][1][0][0][2] [1] => Array ---> $array[1][1][0][1][0][1] [0] => "Hei" ---> $array[1][1][0][1][0][1][0] [1] => "På" ---> $array[1][1][0][1][0][1][1] [2] => "Deg" ---> $array[1][1][0][1][0][1][2] [2] => Array ---> $array[1][1][0][1][0][2] [0] => "Hei" ---> $array[1][1][0][1][0][2][0] [1] => "På" ---> $array[1][1][0][1][0][2][1] [2] => "Deg" ---> $array[1][1][0][1][0][2][2] [1] => Array ---> $array[1][1][0][1][1] [0] => "Hei" ---> $array[1][1][0][1][1][0] [1] => "På" ---> $array[1][1][0][1][1][1] [2] => "Deg" ---> $array[1][1][0][1][1][2] [1] => Array ---> $array[1][1][1] [0] => "Hei" ---> $array[1][1][1][0] [1] => "På" ---> $array[1][1][1][1] [2] => "Deg" ---> $array[1][1][1][2] [2] => Array ---> $array[2] [0] => "Hei" ---> $array[2][0] [1] => "På" ---> $array[2][1] [2] => "Deg" ---> $array[2][2] [3] => Array ---> $array[3] [0] => "Hei" ---> $array[3][0] [1] => "På" ---> $array[3][1] [2] => "Deg" ---> $array[3][2] [4] => "Dudeliattentei" ---> $array[4] Array [Grønnsaker] => Array [0] => "Gulrot" [1] => "Tomat" [2] => "Avocado" [Frukt] => Array [0] => "Banan" [Jordbær] => Array [0] => "Markjorbær" [1] => "Skogsjordbær" [2] => "Huskaniner" [Eple] => Array [0] => "Hardanger" [1] => "Syd-tyrol" [2] => "Røde" [Digg] => Array [0] => "Brus" [1] => "Sjokolade" [2] => "Alt usunt" Output ved bruk av print_r(): Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) [2] => Array ( [0] => Hei [1] => På [2] => Deg ) ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) ) ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) ) ) [2] => Array ( [0] => Hei [1] => På [2] => Deg ) [3] => Array ( [0] => Hei [1] => På [2] => Deg ) [4] => Dudeliattentei ) Endret 12. juni 2008 av Raring Lenke til kommentar
AlecTBM Skrevet 11. juni 2008 Del Skrevet 11. juni 2008 Hva mener du med at print_r() gir ut uoversiktig svar? Er jo perfekt. Lenke til kommentar
Alex Moran Skrevet 22. juni 2008 Del Skrevet 22. juni 2008 Har ofte irritert meg over print_r() og hvor uoversiktelig output den gir, så jeg laget meg en funksjon for å printe multi-dimensjonale arrays på en oversiktelig måte som funker bra når man man debugger. Den kan også printe ut hva key'en til alle verdiene slik at det blir noe lettere når du skal ha tak i én verdi. Funksjonen har to parametere, først arrayet som skal printes også null eller en avhengig om key'ene skal printes eller ikke. Koden: Array ---> $array [0] => Array ---> $array[0] [0] => "Hei" ---> $array[0][0] [1] => "På" ---> $array[0][1] [2] => "Deg" ---> $array[0][2] [1] => Array ---> $array[1] [0] => Array ---> $array[1][0] [0] => "Hei" ---> $array[1][0][0] [1] => "På" ---> $array[1][0][1] [2] => "Deg" ---> $array[1][0][2] [1] => Array ---> $array[1][1] [0] => Array ---> $array[1][1][0] [0] => Array ---> $array[1][1][0][0] [0] => "Hei" ---> $array[1][1][0][0][0] [1] => "På" ---> $array[1][1][0][0][1] [2] => "Deg" ---> $array[1][1][0][0][2] [1] => Array ---> $array[1][1][0][1] [0] => Array ---> $array[1][1][0][1][0] [0] => Array ---> $array[1][1][0][1][0][0] [0] => "Hei" ---> $array[1][1][0][1][0][0][0] [1] => "På" ---> $array[1][1][0][1][0][0][1] [2] => "Deg" ---> $array[1][1][0][1][0][0][2] [1] => Array ---> $array[1][1][0][1][0][1] [0] => "Hei" ---> $array[1][1][0][1][0][1][0] [1] => "På" ---> $array[1][1][0][1][0][1][1] [2] => "Deg" ---> $array[1][1][0][1][0][1][2] [2] => Array ---> $array[1][1][0][1][0][2] [0] => "Hei" ---> $array[1][1][0][1][0][2][0] [1] => "På" ---> $array[1][1][0][1][0][2][1] [2] => "Deg" ---> $array[1][1][0][1][0][2][2] [1] => Array ---> $array[1][1][0][1][1] [0] => "Hei" ---> $array[1][1][0][1][1][0] [1] => "På" ---> $array[1][1][0][1][1][1] [2] => "Deg" ---> $array[1][1][0][1][1][2] [1] => Array ---> $array[1][1][1] [0] => "Hei" ---> $array[1][1][1][0] [1] => "På" ---> $array[1][1][1][1] [2] => "Deg" ---> $array[1][1][1][2] [2] => Array ---> $array[2] [0] => "Hei" ---> $array[2][0] [1] => "På" ---> $array[2][1] [2] => "Deg" ---> $array[2][2] [3] => Array ---> $array[3] [0] => "Hei" ---> $array[3][0] [1] => "På" ---> $array[3][1] [2] => "Deg" ---> $array[3][2] [4] => "Dudeliattentei" ---> $array[4] Array [Grønnsaker] => Array [0] => "Gulrot" [1] => "Tomat" [2] => "Avocado" [Frukt] => Array [0] => "Banan" [Jordbær] => Array [0] => "Markjorbær" [1] => "Skogsjordbær" [2] => "Huskaniner" [Eple] => Array [0] => "Hardanger" [1] => "Syd-tyrol" [2] => "Røde" [Digg] => Array [0] => "Brus" [1] => "Sjokolade" [2] => "Alt usunt" Output ved bruk av print_r(): Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Array ( [0] => Array ( [0] => Hei [1] => På [2] => Deg ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) [2] => Array ( [0] => Hei [1] => På [2] => Deg ) ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) ) ) [1] => Array ( [0] => Hei [1] => På [2] => Deg ) ) ) [2] => Array ( [0] => Hei [1] => På [2] => Deg ) [3] => Array ( [0] => Hei [1] => På [2] => Deg ) [4] => Dudeliattentei ) Du er klar over at du bare kan legge en <pre> rundt print_r, og få perfekt resultat? Lenke til kommentar
Thomas. Skrevet 23. juni 2008 Del Skrevet 23. juni 2008 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Baklengs Gennerator</title> </head> <body> <h2>Denne genneratoren skriver ut teksten baklengs.</h2><br /> <?php if(isset($_POST['fd'])) { $streng = $_POST['sg']; echo "<b>" . "<u>" . strrev($streng) . "</u>" . "</b>"; } ?> <br /> <br /> <br /> Skriv inn det du vil, skal bli stavet baklengs:<br /> <form action="" method="post"> <input type="text" name="sg" /> <input type="submit" name="fd" value=" Stav! " /> </form> </body> </html> Lenke til kommentar
AlecTBM Skrevet 23. juni 2008 Del Skrevet 23. juni 2008 Klikk for å se/fjerne innholdet nedenfor <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Baklengs Gennerator</title> </head> <body> <h2>Denne genneratoren skriver ut teksten baklengs.</h2><br /> <?php if(isset($_POST['fd'])) { $streng = $_POST['sg']; echo "<b>" . "<u>" . strrev($streng) . "</u>" . "</b>"; } ?> <br /> <br /> <br /> Skriv inn det du vil, skal bli stavet baklengs:<br /> <form action="" method="post"> <input type="text" name="sg" /> <input type="submit" name="fd" value=" Stav! " /> </form> </body> </html> Hva var vitsen med å poste den der? Er jo bare en enkel standard funksjon i det scriptet. Sorry, men hva var vitsen med å poste den der? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå