• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP Obiektowe - przekazywanie wartosci z inputa

VPS Starter Arubacloud
0 głosów
496 wizyt
pytanie zadane 25 maja 2017 w PHP przez Justyna Obywatel (1,210 p.)

Hej zrobiłam dodawanie komentarzy i mam pytanie jak inaczej można "sensownie" przekazywać wartości z inputów? Tylko takim sposobem? Że przez : if(isset($_POST['wyslij'])) {

 

<html>
<head>
</head>
<body>
    <form method="post" action="index.php">
    <input type="text" name="author" /><br />
    <input type="text" name="email" /><br />
    <textarea name="text"></textarea><br />
    <input type="submit" name="wyslij" value="Wyslij" />
    </form>
</body>
</html>

 

<?php 
require 'database.php';

class Comment {
		
		public $author;
		public $email;
		public $text;
		public $wiadomosc;
		
		public function validate() {
			if(isset($_POST['author']) && isset($_POST['email']) && isset($_POST['text'])) {
				$this->author = ($_POST['author']);
				$this->email = ($_POST['email']);
				$this->text = ($_POST['text']);
				$this->sendComment();
			} else {
				$this -> wiadomosc = "Nie wypelniles wszystkich pól formularza.";
			}
		}
		
		public function sendComment() {
			$pdo = Database::connect();
			$sql = "INSERT INTO comments(id, author, email, comment) values(".
										"NULL, :author, :email, :comment)";
			$q = $pdo->prepare($sql);
			$q->bindValue(':author', $this->author, PDO::PARAM_STR);
			$q->bindValue(':email', $this->email, PDO::PARAM_STR);
			$q->bindValue(':comment', $this->text, PDO::PARAM_STR);
			$q->execute();		
			Database::disconnect();
			$error = $q->errorInfo();
				if ($error[0]) { var_dump($error); }  	
			$this->wiadomosc = "Wiadomość wysłano";
		}
		
}

	if(isset($_POST['wyslij'])) {
		$comment = new Comment;
		$comment-> validate();
		echo $comment -> wiadomosc;
	}

 

1 odpowiedź

0 głosów
odpowiedź 25 maja 2017 przez Boshi VIP (100,240 p.)
To ma tyle wspólnego z OOP co nic :)

Można przez pobranie argumentow..

 

nie wiedzieć czemu metoda validate przypisuje dane ;]

przemyśl to jeszcze raz, bo serio to nie ma nic wspólnego z OOP opróćz słów kluczowych.
komentarz 25 maja 2017 przez Justyna Obywatel (1,210 p.)
Tam zrobiłam tylko to że muszą byc wszystkie pola wpisane, no a jakbym to rozszerzała to bym zrobila walidacje w tym,,,, czy metoda musi byc osobna do walidowania i do przypisywania danych?

 

A co do OOP jest gdzies Polska wersja tego gdzie bedzie opisane co i jak robic?
komentarz 25 maja 2017 przez Boshi VIP (100,240 p.)
Nie ma, właśnie to jest programowanie obiektowe.. napisać tak aby to faktycznie działało i wyglądało jak jednolity system.

Ja bym oddelegował walidacje kompletnie do innej warstwy abstrakcji.
komentarz 25 maja 2017 przez Justyna Obywatel (1,210 p.)
Po prostu oddzielna funkcja w klasie masz na mysli? w kwestii walidacji?

 

Bo chyba nie nadmieniasz do tego zebym musiala stworzyc nowa klase ? :D
1
komentarz 25 maja 2017 przez Boshi VIP (100,240 p.)
Nie, nawiązuje do tego, że bym stworzył kilka nowych klas, jakiś interfejs łączący wszystko itd :)

Podobne pytania

0 głosów
1 odpowiedź 403 wizyt
pytanie zadane 7 maja 2017 w C# przez criser Nowicjusz (210 p.)
0 głosów
1 odpowiedź 875 wizyt
pytanie zadane 30 grudnia 2015 w C i C++ przez Konrad Nabożny Stary wyjadacz (13,460 p.)
0 głosów
1 odpowiedź 173 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...