derasto Δημοσ. 30 Ιανουαρίου 2011 Share Δημοσ. 30 Ιανουαρίου 2011 Σπερα, φτιαχνω ενα σκριπτ για να ελενχω ονομα,κωδικο και επειτα να τα εισαγω σε ενα αρχειο. Επειδη δεν το εχω κατεφερει να το τρεξω ακομα το παω βημα βημα. >if (strtolower($_POST['username']) == strtolower($users[$i]['userName'])) $username_used = 1; Εδω κανω το ονομα μικρο οταν το στελνει ο χρηστης και το ελνχω για το αν υπαρχει στο αρχειο,αν υπαρχει δινω ασσο στο username_used σωστα μεχρι εδω; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nik1992 Δημοσ. 30 Ιανουαρίου 2011 Share Δημοσ. 30 Ιανουαρίου 2011 Αυτό εδώ τί είναι; >$users[$i]['userName']) Ότι εντολές γίνονται μέσα στο if, βάλτες μέσα σε άγκιστρα. > if (strtolower($_POST['username']) == strtolower($users[$i]['userName'])) { $username_used = 1; ...... } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
derasto Δημοσ. 30 Ιανουαρίου 2011 Μέλος Share Δημοσ. 30 Ιανουαρίου 2011 To >$users[$i]['userName']) ειναι ενας πινακας οπου θα ελενχθει και θα μπει ενας χρηστης. Τα ειχα κλεισει τα αγκιστρα απλα δεν τα πηρα στο copy/paste. To θεμα στο οποιο εχω κολλησει ειναι οτι ο χρηστης εισαγεται σωστα με τα σωστα δικαιωματα αλλα ο ελενχος για διπλη εγγραφη δεν γινεται. Τελειωνω κατι στον κωδικα και τα ανεβαζω να τα δουμε. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nik1992 Δημοσ. 30 Ιανουαρίου 2011 Share Δημοσ. 30 Ιανουαρίου 2011 Ανέβασε ολόκληρο τον κώδικα... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
derasto Δημοσ. 30 Ιανουαρίου 2011 Μέλος Share Δημοσ. 30 Ιανουαρίου 2011 Eχουμε και λεμε: Ο "ελενχος" και η καταχωρηση νεου χρηστη στο αρχειο users.php. ><?php include('../lib/data/users.php'); if ($_POST['username']) { } $user_amount = count($users); for ($i=0; $i <=$user_amount;$i++); { if (strtolower($_POST['username']) == strtolower($users[$i]['userName'])) $username_used = 1; } if (!$_POST['password']) $password_error = 1; if (($username_used==1) || ($password_error==1)) { echo "STOP"; } else if (!$username_used && !$password_error) { print 'Your selection '.$_POST['username'].' was accepted... your account was created. You may now login!!!'; $next_user = $user_amount++; $new_user_information = ' //remote created from '.$_SERVER['REMOTE_ADDR'].' $users['.$next_user.'] = array(); $users['.$next_user.'][\'userRole\'] = simple_user; $users['.$next_user.'][\'userName\'] = \''.$_POST['username'].'\'; $users['.$next_user.'][\'password\'] = \''.$_POST['password'].'\'; $users['.$next_user.'][\'email\'] = \''.$_POST['email'].'\'; $users['.$next_user.'][\'channels\'] = array(0,1); ?>'; $file_edit = fopen('../lib/data/users.php', 'r+'); fseek($file_edit, -3,SEEK_END); fwrite($file_edit, $new_user_information); fclose($file_edit); } ?> και το αρχειο users.php ><?php $users = array(); $users[0] = array(); $users[0]['userRole'] = guest; $users[0]['userName'] = null; $users[0]['password'] = null; $users[0]['channels'] = array(0); $users[1] = array(); $users[1]['userRole'] = admin; $users[1]['userName'] = 'admin'; $users[1]['password'] = 'admin'; $users[1]['channels'] = array(0,1); $users[2] = array(); $users[2]['userRole'] = mod; $users[2]['userName'] = 'moderator'; $users[2]['password'] = 'moderator'; $users[2]['channels'] = array(0,1); $users[3] = array(); $users[3]['userRole'] = simple_user; $users[3]['userName'] = 'user'; $users[3]['password'] = 'user'; $users[3]['channels'] = array(0,1); ?> Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
spartakoscs Δημοσ. 30 Ιανουαρίου 2011 Share Δημοσ. 30 Ιανουαρίου 2011 > <?php if ($_POST['username']) { include('../lib/data/users.php'); $user_amount = count($users); for ($i=0; $i <=$user_amount;$i++); { if (strtolower($_POST['username']) == strtolower($users[$i]['userName'])){ $username_used = 1;} } if (!$_POST['password']){ $password_error = 1; } if ($username_used == 1 || $password_error == 1) { echo "STOP"; } elseif (!$username_used && !$password_error) { print 'Your selection '.$_POST['username'].' was accepted... your account was created. You may now login!!!'; $next_user = $user_amount++; $new_user_information = ' //remote created from '.$_SERVER['REMOTE_ADDR'].' $users['.$next_user.'] = array(); $users['.$next_user.'][\'userRole\'] = simple_user; $users['.$next_user.'][\'userName\'] = \''.$_POST['username'].'\'; $users['.$next_user.'][\'password\'] = \''.$_POST['password'].'\'; $users['.$next_user.'][\'email\'] = \''.$_POST['email'].'\'; $users['.$next_user.'][\'channels\'] = array(0,1); ?>'; $file_edit = fopen('../lib/data/users.php', 'r+'); fseek($file_edit, -3,SEEK_END); fwrite($file_edit, $new_user_information); fclose($file_edit); } }else{ echo 'username require!!'; } ?> το >else if (!$username_used && !$password_error) ειναι >elseif (!$username_used && !$password_error) Σε γενικές γραμμές η for σου τρέχει 5 φορές ενώ εσύ έχεις 4 users και ο επόμενος user θα πάει σαν users[5] και όχι σαν users[4] που θα έπρεπε , επίσης όπως καταλαβαίνεις εάν και δεν ξέρω τι θες να φτιάξεις μήπως θα ήταν καλύτερα μια mysql για να κρατάς τους users γιατί εάν έχεις 10000 users έτσι όπως είναι τώρα πιθανόν να μην πάρεις ποτέ αποτέλεσμα . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
derasto Δημοσ. 30 Ιανουαρίου 2011 Μέλος Share Δημοσ. 30 Ιανουαρίου 2011 Σπερα spartacos και ευχαριστω για το τιπ. Ναι ετσι πρεπει να παει user[5]. To σκεφτομαι για mysql,απλα στο συγκεκριμενο οι users και τα δικαιωματα περιστρεφονται γυρω απο το users.php Edit: Παλι αν βαλω ενα ονομα που ηδη υπαρχει το περναει. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
spartakoscs Δημοσ. 30 Ιανουαρίου 2011 Share Δημοσ. 30 Ιανουαρίου 2011 >for ($i=0; $i <=$user_amount;$i++); πρέπει να είναι >for ($i=0; $i <=$user_amount;$i++) μου ξέφυγε αυτό . δεν θέλει το ; . δοκίμασε και πες μου έμενα λειτουργεί κανονικά ! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
derasto Δημοσ. 30 Ιανουαρίου 2011 Μέλος Share Δημοσ. 30 Ιανουαρίου 2011 Αδερφουλη ολα κομπλε. thanks alot Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.