Na 5tyk 0 Zgłoś post Napisano Wrzesień 2, 2012 Witam. Chciałbym dodać do tego skryptu: www.forumweb.pl/viewtopic.php?t=65408&mobile=mini . Jakiś skrypt polecenia, dzięki któremu za polecenie (po rejestracji) dostajemy 3 pkt. Udostępnij ten post Link to postu Udostępnij na innych stronach
Łukasz Ostrowski 593 Zgłoś post Napisano Wrzesień 2, 2012 Aha. I co w związku z tym? Chcesz to komuś zlecić, dostać gotowca, pomoc Imo nie widze w treści żadnej prośby ani zapytania. Udostępnij ten post Link to postu Udostępnij na innych stronach
Na 5tyk 0 Zgłoś post Napisano Wrzesień 2, 2012 Chciałbym dostać gotowca/jakąś instrukcje. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość finlandia Zgłoś post Napisano Wrzesień 2, 2012 (edytowany) $ref = $_GET['ref']; if(isset($_GET['ref'])){ mysql_query("update users set pkt = pkt+3 where login = '$ref'"); } To tak pisane z palca dla zademonstrowania zasady działania. Pobaw się sam lub zleć to komuś jeśli chcesz, mieć coś lepszego niż 30 sekund roboty Edytowano Wrzesień 2, 2012 przez finlandia (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Wrzesień 2, 2012 Bierzesz kartkę, ołówek i rysujesz schemat jak ma skrypt działać w jedną i drugą stronę Później otwierasz jakiś plik php i dodajesz linijki odpowiednio według schematu. Jak nie wiesz jak to google i szukasz w php/mysql jak to zrobić. I cieszysz się własnym skryptem Udostępnij ten post Link to postu Udostępnij na innych stronach
SaVaGe123 21 Zgłoś post Napisano Wrzesień 3, 2012 <?php /** * Skrypt i formularz rejestracji * @author Sobak * @package User System */ require 'header.php'; // Dołącz początkowy kod HTML require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą require_once 'user.class.php'; /** * Sprawdź czy formularz został wysłany */ if ($_POST['send'] == 1) { // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection $login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass'])); $pass_v = mysql_real_escape_string(htmlspecialchars($_POST['pass_v'])); $email = mysql_real_escape_string(htmlspecialchars($_POST['email'])); $email_v = mysql_real_escape_string(htmlspecialchars($_POST['email_v'])); /** * Sprawdź czy podany przez użytkownika email lub login już istnieje */ $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' LIMIT 1")); $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='$email' LIMIT 1")); $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły // Sprawdź, czy nie wystąpiły błędy if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />'; if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />'; if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />'; if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />'; if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />'; /** * Jeśli wystąpiły jakieś błędy, to je pokaż */ if ($errors != '') { echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>'; } /** * Jeśli nie ma żadnych błędów - kontynuuj rejestrację */ else { // Posól i zasahuj hasło $pass = user::passSalter($pass); // Zapisz dane do bazy mysql_query("INSERT INTO users (login, email, pass) VALUES('$login','$email','$pass');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>'); echo '<p class="success">'.$login.', zostałeś zarejestrowany. <br /><a href="login.php">Logowanie</a></p>'; } $ref = mysql_real_escape_string(htmlspecialchars($_POST['referal'])); if(isset($ref)) { mysql_query("UPDATE `users` SET `punkty`=`punkty`+3 WHERE login = '$ref'"); } } ?> <form method="post" action=""> <input type="hidden" name="ref" value="<?php echo $_GET['referal']; ?>"/> <label for="login">Login:</label> <input maxlength="32" type="text" name="login" id="login" /> <label for="pass">Hasło:</label> <input maxlength="32" type="password" name="pass" id="pass" /> <label for="pass_again">Hasło (ponownie):</label> <input maxlength="32" type="password" name="pass_v" id="pass_again" /> <label for="email">Email:</label> <input type="text" name="email" maxlength="50" id="email" /> <label for="email_again">Email (ponownie):</label> <input type="text" maxlength="255" name="email_v" id="email_again" /><br /> <input type="hidden" name="send" value="1" /> <input type="submit" value="Zarejestruj" /> </form> <?php require 'footer.php'; // Dołącz końcowy kod HTML ?> Nie chce mi się sprawdzać czy dobrze. Jeżeli sam tego nie zrobisz, zapłać a ci to zrobimy. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość finlandia Zgłoś post Napisano Wrzesień 3, 2012 <?php /** * Skrypt i formularz rejestracji * @author Sobak * @package User System */ require 'header.php'; // Dołącz początkowy kod HTML require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą require_once 'user.class.php'; /** * Sprawdź czy formularz został wysłany */ if ($_POST['send'] == 1) { // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection $login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass'])); $pass_v = mysql_real_escape_string(htmlspecialchars($_POST['pass_v'])); $email = mysql_real_escape_string(htmlspecialchars($_POST['email'])); $email_v = mysql_real_escape_string(htmlspecialchars($_POST['email_v'])); /** * Sprawdź czy podany przez użytkownika email lub login już istnieje */ $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' LIMIT 1")); $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='$email' LIMIT 1")); $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły // Sprawdź, czy nie wystąpiły błędy if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />'; if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />'; if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />'; if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />'; if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />'; /** * Jeśli wystąpiły jakieś błędy, to je pokaż */ if ($errors != '') { echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>'; } /** * Jeśli nie ma żadnych błędów - kontynuuj rejestrację */ else { // Posól i zasahuj hasło $pass = user::passSalter($pass); // Zapisz dane do bazy mysql_query("INSERT INTO users (login, email, pass) VALUES('$login','$email','$pass');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>'); echo '<p class="success">'.$login.', zostałeś zarejestrowany. <br /><a href="login.php">Logowanie</a></p>'; } $ref = mysql_real_escape_string(htmlspecialchars($_POST['referal'])); if(isset($ref)) { mysql_query("UPDATE `users` SET `punkty`=`punkty`+3 WHERE login = '$ref'"); } } ?> <form method="post" action=""> <input type="hidden" name="ref" value="<?php echo $_GET['referal']; ?>"/> <label for="login">Login:</label> <input maxlength="32" type="text" name="login" id="login" /> <label for="pass">Hasło:</label> <input maxlength="32" type="password" name="pass" id="pass" /> <label for="pass_again">Hasło (ponownie):</label> <input maxlength="32" type="password" name="pass_v" id="pass_again" /> <label for="email">Email:</label> <input type="text" name="email" maxlength="50" id="email" /> <label for="email_again">Email (ponownie):</label> <input type="text" maxlength="255" name="email_v" id="email_again" /><br /> <input type="hidden" name="send" value="1" /> <input type="submit" value="Zarejestruj" /> </form> <?php require 'footer.php'; // Dołącz końcowy kod HTML ?> Nie chce mi się sprawdzać czy dobrze. Jeżeli sam tego nie zrobisz, zapłać a ci to zrobimy. Wkleiłeś pierwszy lepszy kod i nawet nie chce Ci się sprawdzić czy działa? Zaraz będzie kolejne kilka tematów, że coś jest źle lub nie działa jak powinno. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Wrzesień 3, 2012 Chociaż mogłeś mu usunąć niektóre linijki, bo zaraz błędami mu będzie siało... Udostępnij ten post Link to postu Udostępnij na innych stronach
SaVaGe123 21 Zgłoś post Napisano Wrzesień 3, 2012 Naprawdę nie mam ochoty tego instalować w całości. Dopisałem śmieszny kod który powinien działać + niech sobie dorzuci pole do bazy (można było by to zrobić na ciasteczka ale nie ma nic za darmo). Wkleiłeś pierwszy lepszy kod i nawet nie chce Ci się sprawdzić czy działa? Zaraz będzie kolejne kilka tematów, że coś jest źle lub nie działa jak powinno. Finlandia niech sobie zakłada tyle tematów ile chce, a jak nie masz co robić to mu popraw. Ja mam zajęcie, chciałem mu pomóc, miałem dobre chęci ale jak sobie nie poradzi no cóż. On chyba nawet nie zna podstaw, a ja niestety gotowca pod nos nie mam zamiaru mu podsuwać (wtedy było by kilkadziesiąt tematów jak by dostawał gotowe skrypty). Tyle co od nas dostał to już powinien sobie poradzić. Udostępnij ten post Link to postu Udostępnij na innych stronach
GoBulletin 0 Zgłoś post Napisano Grudzień 9, 2012 (edytowany) Przepraszam za odkop, ale może się komuś przyda. No to tak. link będzie wyglądał np. register.php?reff=nick Tabela users: "CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(50) NOT NULL, `password` varchar(32) NOT NULL, `email` varchar(50) NOT NULL, `punkty` int(11) NOT NULL, `reff` varchar(50) NOT NULL, `data` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; REJESTRACJA //Pobieramy nick z linku $reff = mysql_real_escape_string(htmlspecialchars($_GET['reff'])); $formularz = ' <form aciton="?go=register.php" method="POST"> Login <input type="text" name="login"> Hasło <input type="text" name="password"> Email <input type="text" name="email"> <input type="submit" name="submit" value="Rejestetruj"> </form> '; if(isset($_POST['submit'])) { //dodajemy usera wraz z jego reffem: $zapytanie = mysql_query("INSERT INTO users SET login='$login', $password='$password', email='$email', reff='$reff'") //Teraz dodajemy polecającemu 3 punkty $zapytanie = mysql_query("UPDATE users SET punkty = + 3 WHERE login='$reff'"); } else { echo $formularz; } Taki prosty skrypcik na szybko, więc nie ma takich rzeczy jak: sprawdza czy są dane puste, nie ma powtórzeń haseł itp. Edytowano Grudzień 9, 2012 przez GoBulletin (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Grudzień 9, 2012 Fajnie, ale brakuje zabezpieczenia bo jak wbije ci 100000 razy dziennie jedna osoba z jednego linku (powiedzmy ktoś będzie miły i zrobi bota) to baza danych najzwyczajniej ci się zesra... Warto dać byle if-a aby dodawał do mysql tylko jeden raz dla jednego IP Podałbyś lepsze rozwiązanie, bo ludzie zaraz będą płakać na forum Udostępnij ten post Link to postu Udostępnij na innych stronach