Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Sprawdzenie autora, formularz, zalogowany
Forti
post
Post #1





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Witam

Przyznam się, że nie wiem jak prawidłowo nazwać temat..

Mam formularz:

  1. <form method="post" action="">
  2. <input id="add_tytul" name="autor" size="40" maxlength="255">
  3. <br>
  4. <textarea id="add_tresc" name="tresc" rows="70" cols="100" value="Treść"></textarea>
  5. <br>
  6. <input type="submit" name="submit" value="Dodaj">
  7. </form>


I teraz próbuje napisać funkcje (staram się pisać w miare umiejętności jak najwięcej funkcji, by trzymać logike oddzielnie od htmla) która sprawdzi czy użytkownik jest zalogowany, jeżeli true to pole input autor powinno być nie aktywne a value jako login, natomiast jeżeli użytkownij jest nie zalogowany, to input aktywny, value puste i oczywiście warunek że pole musi zostać wypełnione.

Warunek na wypełnienie pola jest względnie prosty oczywiście

  1. if (!$_POST['autor']){
  2. echo 'Autor jest wymagany';
  3. exit();
  4. }


Funkcja jaką napisałem to:

  1. function autor($autor){
  2. if(user::isLogged()){
  3. $user = user::getData('', ''); // pobiera informacje o użytkowniku
  4. $autor = $user[login];
  5. }
  6. else {
  7. $autor = $_POST['autor']
  8. }


Czyli znowu bez fajerwerków, proste warunki. Jednak problem mam z wyłączeniem pola input 'autor'.

Staram się ominąć sytuacje:

  1. function autor($autor){
  2. if(user::isLogged()){
  3. $user = user::getData('', ''); // pobiera informacje o użytkowniku
  4. $autor = $user[login];
  5. <form method="post" action="">
  6. <input id="add_tytul" name="autor" size="40" maxlength="255" value="'.$autor.'" disabled>
  7. <br>
  8. <textarea id="add_tresc" name="tresc" rows="70" cols="100" value="Treść"></textarea>
  9. <br>
  10. <input type="submit" name="submit" value="Dodaj">
  11. </form>';
  12.  
  13. }
  14. else {
  15. $autor = $_POST['autor']
  16. <form method="post" action="">
  17. <input id="add_tytul" name="autor" size="40" maxlength="255" value="Twój nick">
  18. <br>
  19. <textarea id="add_tresc" name="tresc" rows="70" cols="100" value="Treść"></textarea>
  20. <br>
  21. <input type="submit" name="submit" value="Dodaj">
  22. </form>';
  23.  
  24. }


Przyznam się, że jestem samoukiem, uczę się głównie z manuala oraz analizuje skrypty pobierane z internetu, jednak nie spotkałem takiego problemu, który zapewne jest banalny.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Forti
post
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


No ok, tylko zależy mi na tym, że jak nie zalogowany to musi (ma możliwość) wpisać nick, jak zalogowany to wysyła login. Chce to zrobić najprostszą możliwą drogą, bez 10 warunków itp.

kod funkcji wygląda tak:

  1. function autor(){
  2. if(user::isLogged()){
  3. $user = user::getData('', '');
  4. $autor = $user[login];
  5. <input id="add_tytul" name="autor" size="40" maxlength="255" value="'.$autor.'" disabled>
  6. ';
  7.  
  8. }
  9. else {
  10. $autor = $_POST['autor'];
  11. <input id="add_tytul" name="autor" size="40" maxlength="255" value="Twój nick">
  12. ';
  13. }}



To:

  1. $stmt -> bindValue(':autor', $_POST['autor'], PDO::PARAM_STR);


zamieniłem na:

  1. $stmt -> bindValue(':autor', $autor, PDO::PARAM_STR);


Jednak nadal coś nie do końca działa. Spróbuje ustawić może global $autor? chociaż nie wydaje mi się.
Go to the top of the page
+Quote Post

Posty w temacie
- Forti   [HTML][PHP]Sprawdzenie autora, formularz, zalogowany   13.06.2014, 07:07:57
- - nospor   Czemu IFem uzalezniasz generowanie calego FORMa? P...   13.06.2014, 07:11:33
- - Forti   Mówimy o czymś takim? [PHP] pobierz, plaintext fu...   13.06.2014, 07:20:45
- - nospor   Pierwszy kod: tak, wlasnie o czyms takim mowimy Dr...   13.06.2014, 07:29:09
- - Forti   Generalnie działa, jednak gdy pole input jest disa...   13.06.2014, 08:39:46
- - nospor   No i prawidlowo, ze nie wysyla. W pierwszym kodzi...   13.06.2014, 08:41:33
- - Forti   No ok, tylko zależy mi na tym, że jak nie zalogowa...   13.06.2014, 08:49:34
- - nospor   Nie mozesz wierzyc danym, ktore wysyla uzytkownik....   13.06.2014, 08:53:13
- - Forti   [PHP] pobierz, plaintext function autor()...   13.06.2014, 09:03:06
- - nospor   CytatJak inaczej przekazać tą zmienną, czy na praw...   13.06.2014, 09:05:32
- - Forti   Teoretycznie nic złego. Praktycznie, to zaraz będę...   13.06.2014, 09:12:23
- - nospor   No juz pisalem, ze jesli funkcja bedzie zwracac ...   13.06.2014, 09:14:59
- - Forti   Już widzę w czym jest problem. Musiałbym przerobić...   13.06.2014, 09:19:05
- - nospor   $stmt -> bindValue(':dtime', date(...   13.06.2014, 09:22:28
- - Forti   Z tego co pamiętam to tak, ale zmieniłem już w raz...   13.06.2014, 09:32:09
- - nospor   CytatPrzy okazji, z tego co pamiętam to funkcja NO...   13.06.2014, 09:34:36
- - Forti   Miałem: $stmt -> bindValue(':dtime...   13.06.2014, 09:47:19
|- - Turson   Cytat(Forti @ 13.06.2014, 10:47:19 ) ...   13.06.2014, 09:51:22
- - nospor   NOW() to jest funkcja mysql i ma byc ona wywolywan...   13.06.2014, 09:49:40
- - Forti   Gdzieś kiedyś znalazłem przykładowo skrypt (nie pa...   13.06.2014, 09:59:10
- - Turson   Nie potrafię tego zrozumieć. Że okno wpisywało się...   13.06.2014, 10:02:11
- - nospor   Ale co? To po to wlasnie chciales uzyc mysql_escap...   13.06.2014, 10:02:17
- - Forti   Czyli htmlspecialchars, oki. http://forum.php.pl/l...   13.06.2014, 10:08:52
- - nospor   $autor = 'Twój nick' $autor == ...   13.06.2014, 10:10:01


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 07:49