ďťż
Podstrony
|
telcocafe1. jeżeli mam dane w pliku przedstawione np w taki sposób:user1[,]haslouser1[,]imieusera1[|]user2[,]haslouser2[,]imieusera2[|]..... to jak za pomocą formularza można zmieniać/usuwac pojedyncze elementy? (np kiedy user2 chce zmienić swoje hasło) 2. mam taki skrypt do rejestracji jednak nie dziala wykrywanie zajętej nazwy użytkownika. Kiedyś mi działało ale teraz coś zmieniłem i nie działa :P dlatego daje cały kod bo bardzo zależy mi na tym żeby to działało <?php $mode = $_GET['page']; $errors = array(); $filename = "data/users/users.php"; $open = fopen($filename, "a+"); $read = fread($open, filesize($filename)); $users = array(); $users = explode("[|]", $read); $c_users = count($users); function form() { echo "<form action=\"index.php?mode=com&cid=6&page=form\" method=\"post\"> <table border=\"0\"> <tr><td>Login</td><td><input type=\"text\" name=\"login\" class=\"pole\" value=\"".$_POST['login']."\"></td></tr> <tr><td>Hasło</td><td><input type=\"password\" name=\"pass\" class=\"pole\" value=\"".$_POST['pass']."\"></td></tr> <tr><td>Hasło (powtórz)</td><td><input type=\"password\" class=\"pole\" name=\"pass2\" value=\"".$_POST['pass2']."\"></td></tr> <tr><td>E-mail</td><td><input type=\"text\" class=\"pole\" name=\"email\" value=\"".$_POST['email']."\"></td></tr> <tr><td>Imie</td><td><input type=\"text\" class=\"pole\" name=\"imie\" value=\"".$_POST['imie']."\"></td></tr> <tr><td>GG</td><td><input type=\"text\" class=\"pole\" name=\"gg\" value=\"".$_POST['gg']."\"></td></tr> <tr><td>Miejscowosc</td><td><input type=\"text\" class=\"pole\" name=\"home\" value=\"".$_POST['home']."\"></td></tr> <tr><td>Ukryc gg?</td><td> <label><input type=\"radio\" name=\"hgg\" value=\"0\""; if($_POST['hgg'] == 0) { echo "checked"; } echo "> Nie</label> <label><input type=\"radio\" name=\"hgg\" value=\"1\""; if($_POST['hgg'] == 1) { echo "checked"; } echo "> Tak</label></td></tr> <tr><td>Ukryc miejscowosc?</td><td><label> <input type=\"radio\" name=\"hm\" value=\"0\""; if($_POST['hm'] == 0) { echo "checked"; } echo "> Nie</label> <label><input type=\"radio\" name=\"hm\" value=\"1\""; if($_POST['hm'] == 1) { echo "checked"; } echo "> Tak</label></td></tr> <tr><td></td><td><input type=\"submit\" value=\"Zarejestruj\"></td></tr> </table> <input type=\"hidden\" name=\"form\"> </form>"; } function display_errors() { global $errors; foreach ($errors as $err) { echo "<b>$err</b><br>"; } echo "<br>"; } function validate_data() { global $errors; for ($i = 0; $i < $c_users; $i++) { $dane = explode("[,]", $users[$i]); if($dane[4] == $_POST['login']) { $errors[] = "Podany login jest już zajęty"; } if($dane[6] == $_POST['email']) { $errors[] = "Podany email jest juz zapisany w naszej bazie"; } } if($_POST["login"] == "") { $errors[] = "Podaj login"; } if($_POST["pass"] == "") { $errors[] = "Podaj hasło"; } if($_POST["pass"] != "" and $_POST['pass2'] == "") { $errors[] = "Podaj powtórzenie hasła"; } if($_POST["pass"] != "" and $_POST['pass2'] != "" and $_POST['pass'] != $_POST['pass2']) { $errors[] = "Podane hasła są różne"; } if($_POST["email"] == "") { $errors[] = "Podaj email"; } if($_POST["imie"] == "") { $errors[] = "Podaj imie"; } if($_POST["hgg"] == "") { $errors[] = "Podaj czy chcesz ukrywać adres email"; } if($_POST["hm"] == "") { $errors[] = "Podaj czy chcesz ukrywać miejsowosc"; } if($_POST["email"] != "" and !preg_match('/@/i', $_POST['email'])) { $errors[] = "Podaj prawidłowy adres e-mail"; } } if($mode == "form") { if(isset($_POST['form'])) { validate_data(); if(count($errors) != 0) { display_errors(); form(); } else { $userid = $c_users + 1; $write_data = "[|]".$userid."[,]0[,]0[,]u[,]".$_POST['login']."[,]" .$_POST['pass']."[,]".$_POST['email']."[,]".$_POST[' imie']."[,]".$_POST['gg']."[,]".$_POST['home']." [,]".$_POST['hgg']."[,]".$_POST['hm']."[,]inbuild"; $reg = fwrite($open, $write_data); if($reg = TRUE) { echo "Zostałeś zarejestrowany. Oto twoje najważniejsze dane:<br><br>"; echo "<table border=\"0\"> <tr><td><b>Login:</b></td><td>".$_POST['login']. "</td></tr> <tr><td><b>Hasło:</b></td><td>"; $znakow = strlen($_POST['pass']); for($u = 0;$u < $znakow;$u++) { echo "*"; } echo "</td></tr> <tr><td><b>Email:</b></td><td>".$_POST['email']. "</td></tr> </table><br><br><a href=\"index.php?mode=com&cid=5¤t=form\">Formularz logowania</a><br><br>"; } else { echo "<font color=\"red\"><b>Błąd!</b></font><br>Nie można zapisać użytkownika."; } } } else { form(); } } else { form(); } fclose($open); ?> musisz rolozyc wszystko poprzez explode zmienic 1 tablice i zlozyc w implode ;-) musisz rolozyc wszystko poprzez explode zmienic 1 tablice i zlozyc w implode ;-) co jest niesamowicie nieoptymalne oraz sztuczne, dlatego zachecam do zaprzestania korzystania do tego z plikow - sa przeciez konta z mysql, a nawet i oddzielne bazy mysql. musisz rolozyc wszystko poprzez explode zmienic 1 tablice i zlozyc w implode ;-) eee mozesz mi zapodać jakis kod? :) http://pl.php.net/ma...ion.explode.php , http://pl.php.net/ma...ion.implode.php - masz tu mase przykladów bedziesz musial najprawdopodobniej uzyc jeszcze array_search do szukania odpowiednich loginów - jak widze nie masz tu ID, a nie mogą to być indeksy tablicy, bo przeciez chcesz usuwac wpisy. |
|||
Sitedesign by AltusUmbrae. |