Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> podmiana tekstów za zmienne - problem
sliwa007
post 18.08.2010, 13:37:31
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


Witam,

Mam takie pytanie. Chce zrobić coś takiego że wpisuje jakieś dane do pól opis, kontakt, wysylka, platnosci i w polu kod wpisuje np zmienne $kontakt, $wysylka, $platnosci i chce żeby po nacisnieciu przycisku submit wyświetliła się zawartość pola kod, ale żeby te zmienne wpisane w textarea były już przetworzone na teksty znajdujące się w inputach powyżej którym odpowiadają te zmienne.
Próbowałem to zrobić w ten sposób, ale po wciśnieciu wyslij wyświetla mi się nazwa zmiennej a nie jej wartosć, bardzo proszę o pomoc:

  1. <?php
  2.  
  3. $opis = trim($_POST['opis']);
  4. $kontakt = trim($_POST['kontakt']);
  5. $wysylka = trim($_POST['wysylka']);
  6. $platnosc = trim($_POST['platnosc']);
  7.  
  8. $kod = trim($_POST['kod']);
  9.  
  10. if(empty($opis) || empty($kontakt) || empty($wysylka) || empty($platnosc)) {
  11.  
  12. echo "<form action=\"\" method=\"post\">";
  13.  
  14. echo "Opis przedmiotu <textarea cols=\"40\" rows=\"3\" name=\"opis\"></textarea><br>";
  15. echo "Kontakt <textarea cols=\"40\" rows=\"3\" name=\"kontakt\"></textarea><br>";
  16. echo "Wysyłka <textarea cols=\"40\" rows=\"3\" name=\"wysylka\"></textarea><br>";
  17. echo "Płatność <textarea cols=\"40\" rows=\"3\" name=\"platnosc\"></textarea><br>";
  18. echo "Kod <textarea cols=\"40\" rows=\"3\" name=\"kod\"></textarea><br>";
  19. echo "<input type=\"submit\" value=\"wyslij\">";
  20. echo "</form>";
  21. }
  22. else {
  23. echo "$kod";
  24. }
  25. ?>


plik jest wgrany na http://resproject.pl/ts.php

Nie wiem czy nie zagmatwalem troche tego jeśli tak serdecznie przepraszam, i bardzo proszę o pomoc.

Pozdrawiam
Powód edycji: [piotrooo89]: przenoszę do Przedszkola
Go to the top of the page
+Quote Post
piotrooo89
post 18.08.2010, 13:40:43
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




yyy nie wiem czy o to chodzi:

  1. echo "Opis przedmiotu <textarea cols=\"40\" rows=\"3\" name=\"opis\">".$opis."</textarea><br>";



--------------------
Go to the top of the page
+Quote Post
askone
post 18.08.2010, 13:44:12
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Hej

Może o to Ci chodzi:
  1. $kod = $_POST['kod'];
  2.  
  3. $opis = $_POST[$kod];


edit:
Oczywiście jeśli w polu kod masz kilka nazw zmiennych to wpierw rozbij je na tablicę stosując explode. Później robisz foreach po wszystkich elementach tej tablicy i sklejasz do zmiennej $opis

  1. $kod = $_POST['kod'];
  2.  
  3. foreach(explode(' ', $kod) as $row => $value)
  4. {
  5. $opis .= $_POST[$value];
  6. }


Pisane z palca, więc mogą być błędy smile.gif
Pozdrawiam

Ten post edytował askone 18.08.2010, 13:48:30


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 13:49:55
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


nie. Wejdzcie sobie na http://resproject.pl/ts.pl i wypełnijcie formularz w ten sposob:

opis przedmiotu: ble ble opis
kontakt : ble ble kontakt
wysylka: bleble wysylka
platnosci: bleble platnosci
kod: $wysylka

i po kliknieciu na wyslij pojawia się teskt $wysylka, a chce żeby się pojawiał "bleble wysylka", bo w to pole bede wstawial kod html i chce abz te ymienne sie podmienialz np wkleje kod <div="wysylka">$wysylka</div> i chce zeby mi się tam pojawily teksty które będą wpisane w tekst area. o to mi chodzi i nie wiem jak to zrobić.

Ten post edytował sliwa007 18.08.2010, 13:59:41
Go to the top of the page
+Quote Post
askone
post 18.08.2010, 14:05:53
Post #5





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


  1. $kod = $_POST['kod'];
  2.  
  3. $kod = str_replace('$', '', $kod);
  4.  
  5. foreach(explode(' ', $kod) as $row => $value)
  6. {
  7. $opis .= $_POST[$value]. ' ';
  8. }


No i oczywiście wtedy:
  1. echo $opis;


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 14:24:17
Post #6





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


Praktycznie wogole nie znam sie na programowaniu poza paroma zrobionymi formularzami kontaktowymi i nie zabardzo dlaczego:

  1. $opis .= $_POST[$value]. ' ';


i
  1. echo $opis;


skoro opis jest jedną z opcji wyżej a nie odpowiada za wyświetlanie kodu ?
Go to the top of the page
+Quote Post
gorden
post 18.08.2010, 15:41:30
Post #7





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


Cytat(sliwa007 @ 18.08.2010, 14:49:55 ) *
opis przedmiotu: ble ble opis
kontakt : ble ble kontakt
wysylka: bleble wysylka
platnosci: bleble platnosci
kod: $wysylka

i po kliknieciu na wyslij pojawia się teskt $wysylka, a chce żeby się pojawiał "bleble wysylka",


jeśli ktoś wpisze nazwe zmiennej w kodzie html to jasne, że wyswietli mu sie "$wysylka", a nie "bleble wysylka" ... mozna zrobic tak:

  1. $kod = $_POST['kod'];
  2. if($kod == "\$wysylka") { $kod = $_POST['wysylka']; }

w ten sposób echo $kod wyświetli wartość posta wysylka tongue.gif
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 16:07:46
Post #8





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


chyba cos zle napisalem, chodzi mi o to że wklejając w to okno "KOD" kod html typu:

  1. <div id="opis">$opis</div>
  2. <div id="wysylka">$wysylka</div>
  3. <div id="kontakt">$kontakt</div>
  4. <div id="platnosc">$platnosci</div>


po naciśnięciu przycisku "wyślij" pojawił się html w formie

  1. <div id="opis">jakiś tam tekst z inputa</div>
  2. <div id="wysylka">jakiś tam tekst z inputa</div>
  3. <div id="kontakt">jakiś tam tekst z inputa</div>
  4. <div id="platnosc">jakiś tam tekst z inputa</div>


moze teraz to wyglada jaśniej
Go to the top of the page
+Quote Post
gorden
post 18.08.2010, 16:24:16
Post #9





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


  1. <?php
  2.  
  3. $opis = $_POST['opis'];
  4. $kontakt = $_POST['kontakt'];
  5. $wysylka = $_POST['wysylka'];
  6. $platnosc = $_POST['platnosc'];
  7. $kod = $_POST['kod'];
  8.  
  9. if(empty($opis) || empty($kontakt) || empty($wysylka) || empty($platnosc)) {
  10.  
  11. echo "<form action=\"\" method=\"post\">";
  12.  
  13. echo "Opis przedmiotu <textarea cols=\"40\" rows=\"3\" name=\"opis\"></textarea><br>";
  14. echo "Kontakt <textarea cols=\"40\" rows=\"3\" name=\"kontakt\"></textarea><br>";
  15. echo "Wysyłka <textarea cols=\"40\" rows=\"3\" name=\"wysylka\"></textarea><br>";
  16. echo "Płatność <textarea cols=\"40\" rows=\"3\" name=\"platnosc\"></textarea><br>";
  17. echo "Kod <textarea cols=\"40\" rows=\"3\" name=\"kod\"></textarea><br>";
  18. echo "<input type=\"submit\" value=\"wyslij\">";
  19. echo "</form>";
  20. }
  21. else {
  22.  
  23.  
  24. echo "Opis przedmiotu <textarea cols=\"40\" rows=\"3\" name=\"opis\">$opis</textarea><br>";
  25. echo "Kontakt <textarea cols=\"40\" rows=\"3\" name=\"kontakt\">$kontakt</textarea><br>";
  26. echo "Wysyłka <textarea cols=\"40\" rows=\"3\" name=\"wysylka\">$wysylka</textarea><br>";
  27. echo "Płatność <textarea cols=\"40\" rows=\"3\" name=\"platnosc\">$platnosc</textarea><br>";
  28. echo "Kod <textarea cols=\"40\" rows=\"3\" name=\"kod\">$kod</textarea><br>";
  29. }
  30. ?>


dalej nie rozumiem, o to chodzi?
jesli ktos wpisze kod html w poscie "kod", to mu sie wyswietli ten kod w postaci kodu, a nie jego wykonania
a jesli chcesz bez textarea uzyj fukncji print_r

Ten post edytował gorden 18.08.2010, 16:32:18
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 16:44:36
Post #10





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


Chodzi mi o takie cos:

Wypełniamy wszystkie pola



po kliknieciu "wyslij" chciałbym otrzymać taki efekt:



Go to the top of the page
+Quote Post
netoperz
post 18.08.2010, 17:53:00
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 2
Dołączył: 15.08.2010

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


  1. if (strstr($kod,'$opis')){
  2. $kod=str_replace('$opis',"$opis",$kod);
  3. }
  4. if (strstr($kod,'$kontakt')){
  5. $kod=str_replace('$kontakt',"$kontakt",$kod);
  6. }
  7. if (strstr($kod,'$wysylka')){
  8. $kod=str_replace('$wysylka',"$wysylka",$kod);
  9. }
  10. if (strstr($kod,'$platnosc')){
  11. $kod=str_replace('$platnosc',"$platnosc",$kod);
  12. }


Teraz
  1. echo $kod;

powinno wyświetlić wartości zmiennych.
Pozdrawiam smile.gif
Go to the top of the page
+Quote Post
gorden
post 18.08.2010, 18:08:11
Post #12





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


prosze bardzo oto skrypt.

  1. <?php
  2.  
  3. $opis = $_POST['opis'];
  4. $kontakt = $_POST['kontakt'];
  5. $wysylka = $_POST['wysylka'];
  6. $platnosc = $_POST['platnosc'];
  7. $kod = $_POST['kod'];
  8.  
  9. if(empty($opis) || empty($kontakt) || empty($wysylka) || empty($platnosc)) {
  10.  
  11. echo "<form action=\"\" method=\"post\">";
  12.  
  13. echo "Opis przedmiotu <textarea cols=\"40\" rows=\"3\" name=\"opis\"></textarea><br>";
  14. echo "Kontakt <textarea cols=\"40\" rows=\"3\" name=\"kontakt\"></textarea><br>";
  15. echo "Wysyłka <textarea cols=\"40\" rows=\"3\" name=\"wysylka\"></textarea><br>";
  16. echo "Płatność <textarea cols=\"40\" rows=\"3\" name=\"platnosc\"></textarea><br>";
  17. echo "Kod <textarea cols=\"40\" rows=\"3\" name=\"kod\"></textarea><br>";
  18. echo "<input type=\"submit\" value=\"wyslij\">";
  19. echo "</form>";
  20. }
  21. else {
  22. $pos_opis = strpos('$opis', $kod);
  23. if($pos_opis === false) { $trsc .= "<div id=\"opis\">$opis</div>"; }
  24. $pos_kontakt = strpos('$kontakt', $kod);
  25. if($pos_kontakt === false) { $trsc .= "\n<div id=\"kontakt\">$kontakt</div>"; }
  26. $pos_wysylka = strpos('$wysylka', $kod);
  27. if($pos_wysylka === false) { $trsc .= "\n<div id=\"wysylka\">$wysylka</div>"; }
  28. $pos_platnosc = strpos('$platnosc', $kod);
  29. if($pos_platnosc === false) { $trsc .= "\n<div id=\"platnosc\">$platnosc</div>"; }
  30.  
  31.  
  32. echo "Oto kod:<br><textarea cols=\"60\" rows=\"7\" name=\"kod\">$trsc</textarea>";
  33.  
  34. }
  35. ?>


gotowy do wklejenia, efekty takie będą jakie przedstawiłeś na ostatnim screenie, jeśli w treści zostanie wpisane $opis to przypisze mu diva , analogicznie z innymi

Ten post edytował gorden 18.08.2010, 18:13:11
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 18:53:22
Post #13





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


Witam,

nietoperz rozwiązał problem, dziekowa wam wszystkim.

jeszcze jedna sprawa bo wklejając np w miejsce pola "KOD" kod <div class="costam">, to po naciśnięciu przycisku wyślij otrzymuje kod <div class=\"costam\"> czy da się to zmienić ?

Ten post edytował sliwa007 18.08.2010, 18:34:44
Go to the top of the page
+Quote Post
netoperz
post 18.08.2010, 18:57:59
Post #14





Grupa: Zarejestrowani
Postów: 7
Pomógł: 2
Dołączył: 15.08.2010

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


  1. $kod=str_replace('\"','"',$kod);


Ten post edytował netoperz 18.08.2010, 18:59:37
Go to the top of the page
+Quote Post
sliwa007
post 18.08.2010, 19:03:28
Post #15





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

Ostrzeżenie: (10%)
X----


juz sobie poradzilem w ten sposob, ale dzieki smile.gif

  1. $kod = stripslashes($_POST['kod']);
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 05:29