Script

Filter
2004-08-16

Dynamisk drop-down

Php
Ett mycket vanligt script för att skapa en dropdown med värden från en mysqldatabas
<select name="kat_id" size="1">
<option value="">Alla</option>
<? $sql = "select id, kat from kats order by kat";
$rs = mysql_query($sql, $conn) or die ("Error!");
while ($row = mysql_fetch_array($rs)) { ?>
    <option value="<?= $row["id"] ?>"<? if ($kat_id == $row["id"]) { echo " selected"; } ?>><?= $row["kat"] ?></option>
<? }
mysql_free_result($rs); ?>
</select> 
2004-08-05

Replace i perl

Perl
Använd reg expr i perl för att byta ut text
#!/usr/bin/perl

$str = "Hej på er alla barn!";
$str =~ s/barn ungar/människor/gi;
print "$str\n";

# =~            = "matched by regexp"
# s             = substitute
# /             = börjar matchad text
# barn ungar    = barn eller ungar, matchad text som tas bort
# /             = slutar matchad text
# människor     = ny text som sätts in i stället
# /             = avslutar ersättningstext
# g             = globalt (alla förekomster)
# i             = case insensitive

# (obs - ska vara lodstreck mellan barn och ungar) 
2004-08-04

Installera med CPAN

Perl
Perlmoduler till LInux i drivor!
CPAN är ett fantastiskt nätverk av servrar som man kan ladda ner perl-moduler från. Skriv:

perl -MCPAN -e shell 

och sedan:

install ExtUtils::MakeMaker
install HTML::Parser
install DB_File
install Digest::SHA1
install Archive::Tar
install Archive::Zip
install Compress::Zlib
install Convert::TNEF
install Convert::UUlib
install MIME::Base64
install MIME::Parser
install Mail::Internet
install Mail::SPF::Query
install Net::Server
install Net::SMTP
install Net::DNS
install Digest::MD5
install IO::Stringy
install Time::HiRes
install Unix::Syslog

(De här modulerna är nödvändiga för att kunna köra virusscanning med amavis på en mailserver, typ Postfix)
2004-07-31

Miljövariabler i PHP

Php
Några vanliga värden som man ofta behöver
$env["REMOTE_ADDR"] = getenv("REMOTE_ADDR");
$env["SERVER_SOFTWARE"] = getenv("SERVER_SOFTWARE");
$env["SERVER_NAME"] = getenv("SERVER_NAME");
$env["GATEWAY_INTERFACE"] = getenv("GATEWAY_INTERFACE");
$env["SERVER_PROTOCOL"] = getenv("SERVER_PROTOCOL");
$env["SERVER_PORT"] = getenv("SERVER_PORT");
$env["REQUEST_METHOD"] = getenv("REQUEST_METHOD");
$env["PATH_INFO"] = getenv("PATH_INFO");
$env["PATH_TRANSLATED"] = getenv("PATH_TRANSLATED");
$env["DOCUMENT_ROOT"] = getenv("DOCUMENT_ROOT");
$env["SCRIPT_NAME"] = getenv("SCRIPT_NAME");
$env["QUERY_STRING"] = getenv("QUERY_STRING");
$env["REMOTE_HOST"] = getenv("REMOTE_HOST");
$env["AUTH_TYPE"] = getenv("AUTH_TYPE");
$env["REMOTE_USER"] = getenv("REMOTE_USER");
$env["REMOTE_IDENT"] = getenv("REMOTE_IDENT");
$env["CONTENT_TYPE"] = getenv("CONTENT_TYPE");
$env["CONTENT_LENGTH"] = getenv("CONTENT_LENGTH");
$env["HTTP_ACCEPT"] = getenv("HTTP_ACCEPT");
$env["HTTP_HOST"] = getenv("HTTP_HOST");
$env["HTTP_USER_AGENT"] = getenv("HTTP_USER_AGENT");
$env["HTTP_REFERER"] = getenv("HTTP_REFERER");
$env["HTTP_REFERRER"] = getenv("HTTP_REFFERER"); 
2004-07-30

Accessdatabas med PHP

Php
Connecta och hämta data från en accessdatabas med PHP
<html>
<head>
<title>Php och Access</title>
</head>
<body>
<table border="1" width="100%" cellpadding="0" cellspacing="0">
<?
// Skapar en connectionsträng för Access med en
// relativ sökväg i förhållande till denna sidan...
$thisscript = getenv("PATH_TRANSLATED");
$thispath = substr($thisscript, 0, strrpos($thisscript, "\\"));
$connstr = "Provider=Microsoft.Jet.OLEDB.4.0;";
$connstr .= "Data Source=" . $thispath . "\kontakter.mdb;";
$connstr .= "Mode=ReadWrite;";
$connstr .= "Persist Security Info=False";
$conn = new com("ADODB.Connection") or die("Cannot start ADO"); 
$conn->Open($connstr);
$rs = $conn->Execute("select * from kontakter order by efternamn desc");
while (!$rs->EOF) { ?>
    <tr>
    <td><? $fv = $rs->Fields("fornamn");
    echo $fv->value; ?></td>
    <td><? $fv = $rs->Fields("efternamn");
    echo $fv->value; ?></td>
    <td><? $fv = $rs->Fields("epost");
    echo $fv->value; ?></td>
    </tr>
    <tr>
    <td colspan="3">
    <? $fv = $rs->Fields("anteckning");
    echo ereg_replace( "\n", "<br>", $fv->value ); ?>
    </td>
    </tr>
    <? $rs->MoveNext();
} 
$rs->Close();
$conn->Close(); ?>
</table>
</body>
</html> 
🙂