Avatar billede bow Nybegynder
25. februar 2006 - 04:41 Der er 2 kommentarer og
1 løsning

CGI Per på Apache If else

Jeg køre det her på min Debian Linux under Apache 1.3 men jeg skal have den til at hente eller slette ud fra status
<Perl>
use DBI;

# Declare and initialize variables
$host = 'localhost';
$db = 'xxx';
$db_user = 'xxx';
$db_password = 'BooxiKohito';
#!/usr/bin/perl
# Connect to the requested server
$dbh = DBI->connect("dbi:mysql:$db:$host", "$db_user", "$db_password");
$sth = $dbh->prepare("SELECT ServerName, DocumentRoot, homedir, ServerAdmin,  password, status FROM ezusermanager ORDER BY ServerName ASC");
$sth->execute();
while (($ServerName, $DocumentRoot, $homedir) = $sth->fetchrow_array()) {
system("/home/vpopmail/bin/vadddomain $ServerName $password");
use Fcntl; #The Module

sysopen (HTML, "/etc/webalizer/$ServerName.conf", O_RDWR|O_EXCL|O_CREAT, 0755);
printf HTML "HostName $ServerName\n";
printf HTML "OutputDir $homedir/stats\n";
printf HTML "LogFile $homedir/logs/access.log";
close (HTML);
push @{$VirtualHost{'*:80'}}, {
ServerName => "$ServerName",
ServerAlias => "www.$ServerName *.$ServerName",
ServerAdmin => "$ServerAdmin",
DocumentRoot => "$DocumentRoot",
ErrorLog => "$homedir/logs/error.log",
CustomLog => ["$homedir/logs/access.log", "combined"],
Alias => "/stats $homedir/stats",

};
push @{$VirtualHost{'*:443'}}, {
ServerName => "$ServerName",
ServerAlias => "www.$ServerName *.$ServerName",
ServerAdmin => "$ServerAdmin",
DocumentRoot => "$DocumentRoot",
Alias => "/stats $homedir/stats",
};
}
</Perl>

Jeg skulle gerene bruge If Else

eks som jeg har prøvet er

if ($status =~ /1/)
  {
system("status status1");
  }
elsif ($status =~ /2/)
{
system("mkdir status2");
  }
elsif ($status =~ /3/)
{
system("mkdir status3");
  }
else
  {
system("mkdir status0");
  }
Avatar billede erikjacobsen Ekspert
25. februar 2006 - 08:24 #1
Du skal nok udvide
  while (($ServerName, $DocumentRoot, $homedir) = $sth->fetchrow_array()) {
til
  while (($ServerName, $DocumentRoot, $homedir,$serveradmin,$password,$status) = $sth->fetchrow_array()) {
Avatar billede bow Nybegynder
25. februar 2006 - 11:07 #2
Jeps det virkedet men nu når jeg lægger det sammen sådan her
Så viser den ikke index off jeg har oprettet test.testdk.dk men så loader den bar standard side der må være en open eller lukke der ikke er rigtig

<Perl>
use DBI;

# Declare and initialize variables
$host = 'localhost';
$db = 'xxx';
$db_user = 'xxx';
$db_password = 'xxxx';
#!/usr/bin/perl
# Connect to the requested server
$dbh = DBI->connect("dbi:mysql:$db:$host", "$db_user", "$db_password");
$sth = $dbh->prepare("SELECT ServerName, DocumentRoot,  homedir, ServerAdmin, password, status FROM ezusermanager ORDER BY ServerName ASC");
$sth->execute();
while (($ServerName, $DocumentRoot, $homedir, $ServerAdmin, $password, $status) = $sth->fetchrow_array()) {
if ($status == "1") {
system("/home/vpopmail/bin/vadddomain $ServerName $password");
use Fcntl; #The Module

sysopen (HTML, "/etc/webalizer/$ServerName.conf", O_RDWR|O_EXCL|O_CREAT, 0755);
printf HTML "HostName $ServerName\n";
printf HTML "OutputDir $homedir/stats\n";
printf HTML "LogFile $homedir/logs/access.log";
close (HTML);
push @{$VirtualHost{'*:80'}}, {
ServerName => "$ServerName",
ServerAlias => "www.$ServerName *.$ServerName",
ServerAdmin => "$ServerAdmin",
DocumentRoot => "$DocumentRoot",
ErrorLog => "$homedir/logs/error.log",
CustomLog => ["$homedir/logs/access.log", "combined"],
Alias => "/stats $homedir/stats",

};
push @{$VirtualHost{'*:443'}}, {
ServerName => "$ServerName",
ServerAlias => "www.$ServerName *.$ServerName",
ServerAdmin => "$ServerAdmin",
DocumentRoot => "$DocumentRoot",
Alias => "/stats $homedir/stats",
};
} else {
system("mkdir fejl");
}
</Perl>
Avatar billede bow Nybegynder
25. februar 2006 - 16:24 #3
mange Tak er løst nu Lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester