Undefined variable: key_array

Zdravo, imam spodnjo funkcijo:

public function encrypt($tkey)
{
$charsarray = $this->charsarray;
$i = 0;
while ($i < strlen($tkey)) {
$keyarray[] = $tkey[$i];
++$i;
}
$enc
message = "";
$kPos = 0;
$i = 0;
while ($i < strlen($this->message)) {
$char = substr($this->message, $i, 1);
$offset = $this->getOffset($keyarray[$kPos], $char);
$enc
message .= $charsarray[$offset];
++$kPos;
if (count($key
array) <= $kPos) {
$kPos = 0;
}
++$i;
}
return $enc_message;
}

Pa mi kar naprej javlja: Undefined variable: key_array

Ma kdo kakšno idejo?

tenkju!

9 odgovorov

najbolje da pred while zanko zapises

$key_array = array();

2

hmm...bom poizkusil...

Gre se zato da je to "serijska" funkcija od magenta, pa kar naenkrat javlja errorje...

Probam pa javim rezultat.

Evo, errorja ne javlja več...Hvala

Je pa še en error, v istem fajlu:
Undefined offset: 0

pred to vrstico daj en simple if

$encmessage .= $charsarray[$offset];

if(isset($charsarray[$offset])) $encmessage .= $chars_array[$offset];

moglo bi delat

Nope...še vedno...

pred to daj pol

if(isset($charsarray[$kPos])){
$offset = $this->getOffset($key
array[$kPos], $char);
$encmessage .= $charsarray[$offset];
}

Nop...tudi tako ni šlo brez err...

Tole probej:

if( arraykeyexists($kPos, $chars_array)){

Hvala za pomoč...šele zdajle videl odgovor...,

bom probal, pa javim rezultat.