Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

skydre

PHP script, problema!!! !

Recommended Posts

Ola! fiz um script, mas está dando um erro, na verdade não é um erro! Porque o script funciona, mas fala que da erro, vocês vao ver, nao da pra explicar!! Vou coloca-los aqui para que tentem me ajudar...

 

ADD.php

 

<html><head>  <title></title></head><body><br><form action="xml.php" method="POST"><br><br>This Automatic Creation Account was made by Sky :)<br><br>Account : <input type = "text" name = "account" maxlength="6"><br><br>Password : <input type = "password" name ="password"><br><br>Name : <input type = "text" name ="name"><br><br>Race : <input type = "text" name ="race">(type 1 for knight; 2 for pally and 3 for sorcer)<br><br>--- : <input type = "text" name ="---">(type 1 for male and 2 for female)<br><br><input type = "Submit" value = "ADD" > <input type = "Reset" value = "Clear"></form></body></html>

XML.php

 

<?phpfunction zapisz(){$account = $_POST['account'];$password = $_POST['password'];$name = $_POST['name'];$race = $_POST['race'];$--- = $_POST['---'];$ip = $_SERVER['REMOTE_ADDR'];$tresc1 = '<?xml version="1.0"?><account pass="'.$password.'" type="1" premDays="15"><characters><character name="'.$name.'"/></characters></account>';$plik = fopen("otserv/data/accounts/".$account.".xml","w");fwrite($plik,$tresc1);fclose($plik);$plik2 = fopen("otserv/data/players/".$name.".xml","w");if ($race == 1){$tresc2 = '<?xml version="1.0"?><player name="'.$name.'" account="'.$account.'" ---="'.$---.'" lookdir="0" exp="1111" voc="'.$race.'" level="50" maglevel="20" access="0" cap="300"><mana now="1000" max="1000" spent="0"/><health now="2500" max="2500" food="0"/><look type="128" head="20" body="30" legs="40" feet="50"/><skills> <skill skillid="0" level="50" tries="0"/> <skill skillid="1" level="50" tries="0"/> <skill skillid="2" level="50" tries="0"/> <skill skillid="3" level="50" tries="0"/> <skill skillid="4" level="50" tries="0"/> <skill skillid="5" level="50" tries="0"/> <skill skillid="6" level="50" tries="0"/></skills><inventory> <slot slotid="1"><item id="1771"/></slot> <slot slotid="2"><item id="1537"/></slot> <slot slotid="3"><item id="1411"/></slot> <slot slotid="4"><item id="1745"/></slot> <slot slotid="5"><item id="1728"/></slot> <slot slotid="7"><item id="1743"/></slot> <slot slotid="8"><item id="1874"/></slot> <slot slotid="10"><item id="1459"/></slot></inventory></player>';}if ($race == 2) {$tresc2 = '<?xml version="1.0"?><player name="'.$name.'" account="'.$account.'" ---="'.$---.'" lookdir="0" exp="1111" voc="'.$race.'" level="50" maglevel="20" access="0" cap="300"><mana now="1000" max="1000" spent="0"/><health now="2500" max="2500" food="0"/><look type="128" head="20" body="30" legs="40" feet="50"/><skills> <skill skillid="0" level="50" tries="0"/> <skill skillid="1" level="50" tries="0"/> <skill skillid="2" level="50" tries="0"/> <skill skillid="3" level="50" tries="0"/> <skill skillid="4" level="50" tries="0"/> <skill skillid="5" level="50" tries="0"/> <skill skillid="6" level="50" tries="0"/></skills><inventory> <slot slotid="1"><item id="1771"/></slot> <slot slotid="2"><item id="1537"/></slot> <slot slotid="3"><item id="1411"/></slot> <slot slotid="4"><item id="1745"/></slot> <slot slotid="5"><item id="1728"/></slot> <slot slotid="7"><item id="1743"/></slot> <slot slotid="8"><item id="1874"/></slot> <slot slotid="10"><item id="1459"/></slot></inventory></player>';}if ($race == 3) {$tresc2 = '<?xml version="1.0"?><player name="'.$name.'" account="'.$account.'" ---="'.$---.'" lookdir="0" exp="1111" voc="'.$race.'" level="50" maglevel="20" access="0" cap="300"><mana now="1000" max="1000" spent="0"/><health now="2500" max="2500" food="0"/><look type="128" head="20" body="30" legs="40" feet="50"/><skills> <skill skillid="0" level="50" tries="0"/> <skill skillid="1" level="50" tries="0"/> <skill skillid="2" level="50" tries="0"/> <skill skillid="3" level="50" tries="0"/> <skill skillid="4" level="50" tries="0"/> <skill skillid="5" level="50" tries="0"/> <skill skillid="6" level="50" tries="0"/></skills><inventory> <slot slotid="1"><item id="1771"/></slot> <slot slotid="2"><item id="1537"/></slot> <slot slotid="3"><item id="1411"/></slot> <slot slotid="4"><item id="1745"/></slot> <slot slotid="5"><item id="1728"/></slot> <slot slotid="7"><item id="1743"/></slot> <slot slotid="8"><item id="1874"/></slot> <slot slotid="10"><item id="1459"/></slot></inventory></player>';}fwrite($plik2,$tresc2);fclose($plik2);setcookie('tibia', 'true', time() + 1*30);echo "The Account had been made :)";}function wyjdz(){$account = $_POST['account'];$password = $_POST['password'];$name = $_POST['name'];$race = $_POST['race'];$--- = $_POST['---'];$dupa = 0;$ip = $_SERVER['REMOTE_ADDR'];$plik3 ='otserv/data/accounts/'.$account.'.xml';$plik4 ='otserv/data/players/'.$name.'.xml';if ($account < 100000){   $x1 = '<font color ="red"> Your account must have at least 6 numbers !!! </font>';   $dupa = 1;        }if ($_COOKIE['tibia'] == 'true'){        $x6 = '<font color ="red"> You cannot create any new Accounts in 24h </font><br><br>';        $dupa = 1;}if (file_exists($plik3)){$x1='<font color ="red"> Account already in use</font>';$dupa = 1;}if (file_exists($plik4)) {$x3='<font color ="red"> Name already in use</font>';$dupa = 1;}if ($race == 1 || $race == 2 || $race == 3){    }    else{    $x4 = '<font color ="red"> Race is not valid</font>';    $dupa = 1;}if ($--- == 1 || $--- == 2){        }        else{    $x5 = '<font color ="red"> --- is not valid</font>';    $dupa = 1;    }$name = explode(" ",$name);if ($name[0] == "GM" || $name[0]=="Gm" || $name[0]=="gm") {        $x3='<font color ="red"> You cant have a GM !!</font>';        $dupa = 1;        }if ($name == ""){$x3 = '<font color ="red"> Your name cannot be empty !!</font>';$dupa = 1;}if ($password == ""){$x2 = '<font color ="red"> Your password cannot be empty !!</font>';$dupa = 1;}if (is_numeric($account)){}else{$x1='<font color ="red"> Account must by a number!!</font>';}if ($dupa == 1){$plik = fopen("blad.php","w");$tresc = '<html><head>  <title></title></head><body><br><form action="xml.php" method="POST"><br><br>This Automatic Creation Account was made by Sky :)<br><br>';$tresc1='Account : <input type = "text" name = "account" maxlength="6">'.$x1.'<br><br>';$tresc2='Password : <input type = "password" name ="password">'.$x2.'<br><br>';$tresc3='Name : <input type = "text" name ="name">'.$x3.'<br><br>';$tresc4='Race : <input type = "text" name ="race">(type 1 for knight; 2 for pally and 3 for sorcer)'.$x4.'<br><br>';$tresc5='--- : <input type = "text" name ="---">(type 1 for male and 2 for female)'.$x5.'<br><br>';$tresc6=$x6;$tresc7='<input type = "Submit" value = "ADD" > <input type = "Reset" value = "Clear"></form></body></html>';fwrite($plik,$tresc.$tresc1.$tresc2.$tresc3.$tresc4.$tresc5.$tresc6.$tresc7);fclose($plik);header('Location: blad.php');}else{        zapisz();        }}wyjdz();?>

É isso, então é o seguinte, a pessoa acessa o add.php, preenche os campos, dps ele envia pro xml.php e este salva 2 arquivos xml's no meu PC em pastas separadas e cria um cookie, para a pessoa não ficar se registrando uma vez atrás da outra. Mas quando eu clico em Criar no add.php, ele cria, mas o problema é que aparece este erro também olhem só:

"Notice: Undefined index: tibia in f:\accounts\www\xml.php on line 132"

Está line 132 é este código do script xml.php:

 

if ($_COOKIE ['tibia'] == 'true'){

$x6 = '<font color ="red"> You cannot create any new Accounts in 24h </font><br><br>';

$dupa = 1;

}

 

Que é onde o cookie (chamado tibia) é validado. Oque é curioso, é que so aparece aquele erro, mas está tudo funcionando, o script cria os arquivos xmls, salva-os, o cookie está funcionando também, mas aparece isto não sei porque, alguém tem alguma idéia de como arrumar???

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá skydre, isso já aconteceu tbm nos meus scripts. O que está acontecendo é que a variavel tibia não está sendo definida, tipo nao está com valor. Isso é uma configuraçao do php.ini. Para desabilita-la você tem que acessar este arquivo la na parte de Error handling and logging. Bem eu alterei estas configuracoes para que ele nao exibisse este Notice. No meu coloquei assim:

 

error_reporting  = E_ERROR|E_WARNING|E_PARSE|E_CORE_ERROR|E_CORE_WARNING|E_COMPILE_WARNING|E_USER_E

RROR|E_USER_WARNING

ai isso não apareceu mais. Ha, olha isso que fiz nao foi por acaso nao, fiz uma pesquisa no livro PHP 4 a Biblia.

 

Espero ter ajudado. Um abraço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não acho uma boa alterar as config default do php.ini pois depois você manda seu script para um server e daí ñ pode alterar o php.ini e do server e oq acontece?!?! Não funciona!!! ;)

 

PS: Algumas config podem ser alteradas em tempo de execução msm no server, tbm, mas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O pessoal, nao é escondendo o erro que você vai resolver o problema, pois sempre que tiver mais erros você esconde ate quando?

 

os notice sao seus amigos e eles estao alertando que o script tem algum erro

 

basta saber que erro que é e arrumar isso no caso da $tibia é claro que vai dar erro pois nao existe esse cookie quando você entra na pagina, dai da pra você usar um isset antes pra testar de essa variavel existe

 

escondendo esses tipos de erro é a mesma coisa que varrer a sujeira pra debaixo do tapete

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.