Gå til innhold

Copyfile etter innlogging.


Anbefalte innlegg

Har et script her som skal kopiere en .xml fil etter at man har logget inn med et brukernavn og passord som php scriptet sjekker er riktig ved å lese av .xml filen som skal kopieres. Hvis alt er riktig blir filen kopiert til en ny mappe.

Men jeg har problemer :ohmy:

Det virker da altså ikke :(

Får bare unnskylde hvis noen av variablene er feilnavnet osv for er litt trøtt.

All hjelp settes stor pris på!

Drevet å lekt litt med noe som dette:

<?

session_start(); 
include('config.php');

$lag = $_POST['lag'];
$nick = $_POST['nick'];
$account_file = "$diraccount/$account.xml";
$source_file = '$dirpvpcharsource . ".xml"'; 
$dest_file = '$dirpvpchardest . ".xml"'; 
$account = $_POST['account'];
$lag = $_POST['lag'];
$password = $_POST['password'];
if (isset($account) && isset($password)) { 
$file = $diraccount . $account . ".xml"; 
if (file_exists($file)) { 
if (is_readable($file)) { 
$filecontents = fopen("$file", "r"); 
while(!feof($filecontents)) { 
$line=fgets($filecontents); 
$passpos=strstr($line,"pass="); 
if(!($passpos === false)) break; 
} 
if(!($passpos === false)) { 
$passtemp=explode("\"",$passpos); 
$pass=$passtemp[1]; 
if ($password == $pass) { 
$_SESSION["account"] = "$account"; 
$_SESSION["password"] = "$password"; 
header ("copy($source_file, $dest_file);"); 
print "Charen er kopiert!";
} else { 
header ("Location: index.php"); 
} 
}
}
} else { 
header ("Location: index.php"); 
} 
} else { 
header ("Location: index.php"); 
} 
?> 

Noen som har noen forslag?

Det er etterhvet flere filer det handler om(config.php), men ikke bry dere om mer enn del fila som skal kopieres i scriptet over.

 

I tilfelle noen har interesse av det i config.php som omhandler dokumentet over:

<?
//---------------------------- OTS directories  --------------------------------
$diraccount = 'c:\\ots\\data\\accounts';
$dirplayer = 'c:\\ots\\data\\players';
$dirvip = 'c:\\ots\\data\\vip';
$dirpvpaccsource = 'c:\\ots\\data\\pvp';
$dirpvpcharsource = 'c:\\ots\\data\\pvp';
$dirpvpaccdest = 'c:\\ots\\data\\pvp';
$dirpvpchardest = 'c:\\ots\\data\\pvp';

Takk på forhånd :w00t:

Endret av Met_Fredrik
Lenke til kommentar
Videoannonse
Annonse

Du får altså ingen feimeldinger ?

 

bytt ut

header ("copy($source_file, $dest_file);");

med

copy($source_file, $dest_file);

og se om det hjelper. Skjønte egentlig ikke hvorfor du har lagt det inn i en header. :dontgetit:

Hvis ikke, så sleng inn et par echo'er her og der, for å se hvor langt den kommer i if setningene... (Men da vil jo seff ikke header() opplegget funke)

 

/K

Endret av kakkle
Lenke til kommentar
Du får altså ingen feimeldinger ?

 

bytt ut

header ("copy($source_file, $dest_file);");

med

copy($source_file, $dest_file);

og se om det hjelper. Skjønte egentlig ikke hvorfaor du har lagt det inn i en header. :dontgetit:

Hvis ikke, så sleng inn et par echo'er her og der, for  å se hvor langt den kommer i if setningene... (Men da vil jo seff ikke header() opplegget funke)

 

/K

6151943[/snapback]

 

Nei du sier noe :tease:

Har du en kortere måte å sjekke om pass er riktig osv forresten?=)

Og klarer du å se hvorfor det ikke funker? Selv om jeg tar ut copy av headern.

Takker for hjelpen så langt :)

Endret av Met_Fredrik
Lenke til kommentar
	$account_file = "$diraccount/$account.xml";

...og litt senere...
	$file = $diraccount . $account . ".xml"; 

 

Ser du? Bruk $account_file når du først har definert den. Grunnen til at $file-variabelen ikke virker er at du (sannsynligvis) glemmer et '/'-tegn mellom $diraccount og $account.

 

Hjalp det?

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...