Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodawanie nowych uzytkownikow
Forum PHP.pl > Forum > Gotowe rozwiązania
urbi
Chec napisac skrypt pobieraz nazwe uzytkonika i haslo z pliku i sprawdza czy podane haslo i nick jest podane prawidlowo
A wiec tak w pliku plik.html mam taki kod:

Kod
<form method="post" action="dane.php">

<input type="text" name="numeragenta"><br>

<input type="text" neme="hasloagenta"><br>

<input type="submit" value="sprawdz"><br>



W pliku dane.php

Kod
<?

$dane=file("dane.txt");

if dane==$_POST['numeragenta'] and $_POST['hasloagenta'] {

echo("dobre");

}

?>



I w pliku dane.txt

Kod
52has



I co amm zle jesli wpisuje w pliku o nazwie plik.html w numeragenta 52 a w hasle has to czemu mi wyskakuje taki blad :


Parse error: parse error, expecting `'('' jakis adres on line 3


Czemu nie wyskakuje napis dane zostaly podane prawidlowo??
Ive
Kod
<?

$dane=file("dane.txt");

if dane==$_POST['numeragenta'] and $_POST['hasloagenta'] {

echo("dobre");

}

?>

zmień na
Kod
<?

$dane=file("dane.txt");

if($dane==$_POST['numeragenta'] and $_POST['hasloagenta']) {

echo("dobre");

}

?>

sądze że to o to chodziło
urbi
teraz dziala skrypt ale zastanawiam sie ejsczez co jest grane ze jak podaje w polu nragenta nr 52 i w hasleagenta has. To czemu nie wyswietla ze haslo zostalo podane prawidlowo chodz wprowadzilem do pliku dane.txt dane 52has??A jak cos jak to rozwiazac??
Ive
musisz zrobić to tak (wg mnie oczywiście):
[php:1:76ec1d7554]<?php
$dane=file("dane.txt");
$razem = fgets($dane[0], 99);
$zbior = $_POST['numeragenta'] + $_POST['hasloagenta'];
if($razem==$zbior) {
echo("dobre");
}
?>[/php:1:76ec1d7554]
nie wiem czy to zadziała bo nie próbowałem

troszkę to prymitywne ale czasu zbytnio nie mialem
urbi
znow taki blad wyskakuje

Parse error: parse error, expecting `'('' in adres strony do pliku dane.php on line 3

Co mam zrobic??
urbi
Juz dziala ten skrypt ale teraz jesczez zastanawiam sie jak go przerobic by sprawdzal kazda linijke tyle ilejest w pliku

[php]
$dane=file("dane.txt");
$zbior = $_POST['numeragenta'] . $_POST['hasloagenta'];
if ($dane[0]==$zbior){echo("dane podane prawidlowo"};
[php]


Jak to zrobic??
HaRy
[php:1:2406805a48]<?php

$dane=file("dane.txt");
$ile=count($dane);
$zbior = $_POST['numeragenta'] . $_POST['hasloagenta'];
for ($i=0;$i<$ile;$i++) {
if($dane[$i] == $zbior) { $dobre = 1; }
}
if ($dobre == 1) { echo("dobre"); }
else { echo("zle"); }

?>[/php:1:2406805a48]
urbi
Niestety ale ten skrypt nie działa poprawnie : W pliku dane.txt mam taki dane:
52has
51has
53has
54has

I niestety ale jak wpisze np dane 52has,51has,53has to wtedy wyskakuje ze dane zostaly zle wprowadzone a jak wprowadze 54has to pisze ze dobrze a mi sie wydaje ze ta patla poprostu tylko czyta ostatnia linijke jakl zrobic by czytala kazda??
urbi
[php:1:9304a860cf]<?php
$dane=file("dane.txt");
$zbior=$_POST['numeragenta'] . $_POST['hasloagenta'];
$ile=count($dane);
for ($i=0;$i<$ile;$i++){if ($zbior==$dane[i]){
echo("prawdziwe");}}
?>[/php:1:9304a860cf]
Czemu ten skrypt nie dziala ze jesli wpsize w pole nragenta 52 i w hasloagenta wpisze has
to zeby wyswietlilo ze w pliku sa takie dane jak to przerobic??
dob
Zobacz taki kod: (wstawiony jest tylko break)

[php:1:eeb0662ea7]<?php

$dane=file("dane.txt");
$ile=count($dane);
$zbior = $_POST['numeragenta'] . $_POST['hasloagenta'];
for ($i=0;$i<$ile;$i++) {
if($dane[$i] == $zbior){
$dobre = 1;
break;
}
}
if ($dobre == 1) {
echo("dobre");
}else{
echo("zle");
}

?>[/php:1:eeb0662ea7]

A tu ten drugi kod :
[php:1:eeb0662ea7]<?php
$dane=file("dane.txt");
$zbior=$_POST['numeragenta'] . $_POST['hasloagenta'];
$ile=count($dane);
for ($i=0;$i<$ile;$i++){
if ($zbior==$dane[$i]){
echo("prawdziwe");
break;
}
}
?>[/php:1:eeb0662ea7]

p.s. masz błąd w kodzie html :
Kod
<input type="text" neme="hasloagenta"><br>

zamiast neme wstaw name winksmiley.jpg
urbi
Niestety ale ten skrypt:
[php:1:35ef6696db]<?php
$dane=file("dane.txt");
$zbior=$_POST['numeragenta'] . $_POST['hasloagenta'];
$ile=count($dane);
for ($i=0;$i<$ile;$i++){
if ($zbior==$dane[$i]){
echo("prawdziwe");
break;
}
}
?>[/php:1:35ef6696db]


To on tylko dziala jak podam nragenta 54 i haslo has to wtedy podaje ze prawidlowowe bo to sa ostatnie danbe w pliku a reczte nie chce czytac czemu??
dob
teraz musi działać
[php:1:9544e91e11]<?php
$dane=file("dane.txt");
$zbior=$_POST['numeragenta'] . $_POST['hasloagenta'];
$ile=count($dane);
for ($i=0;$i<$ile;$i++){
if ($zbior==trim($dane[$i])){
echo("prawdziwe");
break;
}
}
?>[/php:1:9544e91e11]
urbi
Do czego sluzy ta funkcja trim poniewaz w manualu nie lukalem ale nie znam za dobrze angielskiego wiec sobie nie radze z przetlumaczeniem plis opiszcie mi do czego ona sluzy??
dob
Warto pomyslec o nauce :wink:
trim usuwa znaki (zwane whitespace) z początki i końca stringa - jakie to znaki dowiesz sie z manuala.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.