Skocz do zawartości

[php] Niedziałający skrypt


bobo

Rekomendowane odpowiedzi

Mam taki sobei skrypt:

w pliku login.php

<form method="post" action="login_sprawdza.php">
<table border="0" cellspacing="0" cellpadding="2">
<tr><td colspan="2" background="gfx/tlo3.gif" style="width: 300px" text-align:center; font-size:8px; font-weight:bold;><div align="center">Login:<input type="text" name="login2" size=20></div></td>
</tr>
<tr><td colspan="2" background="gfx/tlo3.gif" style="width: 300px" text-align:center; font-size:8px; font-weight:bold;><div align="center">haslo:<input type="text" name="haslo2" size=20></div></td></tr>
<td colspan="2" align="center"><input type="submit" class="textbox2" value="Zaloguj">

</table>
</form>

w pliku sprawdza.php

<?php
include "urzytkownicy.php";
if (strstr($urzytkownicy, "$_POST[login2]$_POST[haslo2]"))
{
echo "Zostałeś zalogowany";
}
else
{
echo "nie $_POST[login2]$_POST[haslo2]";
}
?>

w pliku urzytkownicy.php

<?php 
$urzytkownicy= include "lista.txt";
?>

w lista.txt

 boboA

 

Według tego skryptu wynika że gdy wpisze do formularza logowania: login:bobo a haslo:A to powinien wyskoczyc mi napisz Zostałeś zalogowany, jednak gdy tak wpisze wyskakuje mi nie boboA. Doszłem do tego że problem tkwi w pliku urzytkownicy.php a dokladniej w includowaniu pliku lista.txt bo gdy wpisze boboA zamiast include "lista.txt" to wszystko jest ok. ALe ja potrzebuje coś takiego żeby do zmiennej $urzytkownicy zdefiniowanej w pliku urzytkownicy.php została przypisana wartość z pliku lista.txt. Wie ktoś jak to zrobić? Z góry thx :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

To może zmień ten cały skrypt na coś bardziej sensownego?

 

Z pamięci będzie:

 

<?php

$loginy = array (
'user1' => 'aaa',
'bobo' => 'A'
);

$zalogowany = false;

if ( @$_POST['login2'] && @$_POST['haslo2'] )
  if (array_key_exists($_POST['login2'],$loginy) && $loginy[$_POST['login2']]==$_POST['haslo2'] )
    $zalogowany = true;

 

edit: Lekko poprawiłem z błędów, bo mi się trochę z javascriptem zaczęło mieszać. :P

edit2: Jakbyś nie wiedział co daje znaczek @, to blokuje on wysyłanie treści błędu do domyślnego outputa czyli na stronę www. Niechlujnie ale szybciej niż isset( $_POST['login2'] ) && $_POST['login2']

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra poradziłem sobie :) Tylko teraz dane użytkownika muszą być zapisywane w oddzielnych linijkach jak to zrobić?? obecnie mam taki kod dodawania userów:

formluarz

<form method="post" action="rejestracja.php">
<table border="0" cellspacing="0" cellpadding="2">
<tr><td colspan="2" background="gfx/tlo3.gif" style="width: 300px" text-align:center; font-size:8px; font-weight:bold;><div align="center">Login:<input type="text" name="login" size=20></div></td>
</tr>
<tr><td colspan="2" background="gfx/tlo3.gif" style="width: 300px" text-align:center; font-size:8px; font-weight:bold;><div align="center">haslo:<input type="text" name="haslo" size=20></div></td></tr>
<tr><td colspan="2" background="gfx/tlo3.gif" style="width: 300px" text-align:center; font-size:8px; font-weight:bold;><div align="center">email:<input type="text" name="email" size=20></div></td></tr>
<td colspan="2" align="center"><input type="submit" class="textbox2" value="Wyslij">
<input type="reset" class="textbox2" value="Wyczysc"></td>
</table>
</form>

rejestracja

<?
$dataloc="lista.txt";
$read=fopen($dataloc, "a");
$fileread = fread($read, filesize($dataloc));
fclose($read);
fwrite (fopen($dataloc, "a+"), "$fileread $_POST[login]$_POST[haslo]");
fclose(fopen($dataloc, "a+"));

?>

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...