Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz
Forum PHP.pl > Forum > PHP
radekk
Cześć,
Mam taki problem z formularzem.
Chce, żeby tekst napisany w formulrzu był przerabiany przez funkcje koduj(), która jest w pliku kod.php zamieniała tekst na kod z tego pliku np.
wpisałem tekst zgt:
$z = '123';
$g = '456';
$t = '789';
fukcja koduj(); ma to przerobić na " 123456789 ".
Mam formularz w pliku index.php:
Kod
<html>
<head>
<title>Formularz</title>
</head>
<body>
<Center>
<form action="index.php" method="post">
<input type="text" name="tekst"><br />
<input type="submit" name="submit" value="wyślij">
</form>
</body>
</html>

<?php

include ("db.php"); //plik do połączenia z bazą mysql
include ("kod.php"); //plik z kodem

if(isset($_POST['submit']))
{
$tekst = $_POST['tekst'];

//dalszy kod, który nie wiem jak napisać
}

?>

Proszę o szybką odpowiedż.

Pozdro
kujol
Nie wiem czy zrozumiałem, ale spróbuj tak:

Kod
$dodaj = $z . $g . $t;
echo "$dodaj";
radekk
nie działa, ponieważ ja mam cały alfabet, a-z.
jeśli ja wpisze np. cześć to skrypt ma przypisać pod literki cyfry podane w pliku kod.php
$c = '3';
$z = '5';
$e = '1';
$ś = '4';
$ć = '2';
po porzerobieniu przez funkcje koduj(); ma wyjść 35142
kujol
Nie wiem czy to zadziała na ciągu liter, ale coś w tym stylu.

Kod
switch ($tekst)
{
case 'a':
echo "123";     //czyli twoją $a
break;
case 'b':
echo "456";
break;
case 'c':
echo "789";
break;
(itd...)
default:
echo "Litera
nierozpoznana.";
}


Swith ma za zadanie Ci to przypisać.
radekk
Nadal nie działa ;( nie mam pomysłu jak to zrobić
kujol
W pliku kod.php masz:
Kod
$a =123;
$b = 456;
$c = 789;
(itd...)


A w index.php

Kod
<html>
<head>
<title>Formularz</title>
</head>
<body>
<Center>
<form action=""
method="post">
<input type="text"
name="tekst"><br />
<input type="submit"
name="submit"
value="wyślij">
</form>
</body>
</html>
<?php
include ("db.php"); //plik
do połączenia z bazą mysql
include ("kod.php"); //plik
z kodem
if(isset($_POST['submit']))
{
$tekst = $_POST['tekst'];
  switch ($tekst)
{
case 'a':
echo "$a";
break;
case 'b':
echo "$b";
break;
case 'c':
echo "$c";
break;
(itd...)
default:
echo "Liter
nierozpoznana.";
}
}

else
{
echo"error";
}
?>


Wpisz jakaś literę w formularz, wyślij i powiedz co sie wyświetla.
rad11
kujol a co jesli wpisze ab ?

Moze byc tez tak ale to duzo roboty jest

plik kod.php
  1.  
  2. <?php
  3.  
  4. $tekst = $_POST['tekst'];
  5.  
  6. $a = '123';
  7. $b = '456';
  8. //itd...
  9.  
  10. if(isset($_POST['tekst']))
  11. {
  12.  
  13. if($tekst == 'ab'){
  14. echo $a.$b;
  15. }else if($tekst == 'ba'){
  16. echo $b.$a;
  17. }else if($tekst == 'a'){
  18. echo $a;
  19. }else if($tekst == 'b'){
  20. echo $b;
  21. }
  22.  
  23. }
  24.  
  25. ?>
  26.  


Zastanow sie czy nie lepiej skorzystac z gotowych rozwiazan typu sha1 lub md5
com
http://ideone.com/uHoHZR

up bez sensu, wręcz nie realne smile.gif bo podam string aabsdcrfgdhi i nic cie nie zrobi a nie spr wszystkich słów ifem wink.gif
rad11
com wiem ze bez sensu i ze nie realne smile.gif dla mnie bez sensu wprowadzac wlasna funkcje kodowania skoro istnieja gotowe smile.gif
com
kujon szedł dobra drogą tylko nie uwzględnił tego co ty napisałeś, ja tak biggrin.gif
rad11
ale tez nie dziala poprawnie smile.gif trzeba zmienic

  1. <?php
  2.  
  3. // $tekst = 'abcaa'; na
  4.  
  5. $tekst = $_POST['tekst'];
  6.  
  7. $size=strlen($tekst);
  8. for($i = (int) 0; $i<$size; $i++)
  9. switch ($tekst[$i])
  10. {
  11. case 'a':
  12. echo "123"; //czyli twoją $a
  13. break;
  14. case 'b':
  15. echo "456";
  16. break;
  17. case 'c':
  18. echo "789";
  19. break;
  20. default:
  21. echo "Litera
  22. nierozpoznana.";
  23. break;
  24. }
  25.  
com
owszem, po pierwsze to co podałeś nie jest kodowaniem tylko hashowanie a po drugie można w realnym czasie znaleźć sumę kontrolną dla md5 dla sha1 również wink.gif

#up rozwiń myśl wink.gif

Tu chodzi o idee to co podałem jest tylko przykładem rozwiązania a nie gotowcem tongue.gif
radekk
Com twój skrypt działa, jestem ci winien dużą flaszkę bolsa ;-)
com
kiedyś przy okazji, tym czasem pomógł cool.gif

rad11 jak już chcesz mnie poprawiać to rób to dobrze:

  1. <?php
  2. if(isset($_POST['tekst']))
  3. {
  4. $tekst = $_POST['tekst'];
  5. $size=strlen($tekst);
  6. for($i = (int) 0; $i<$size; $i++)
  7. switch ($tekst[$i])
  8. {
  9. case 'a':
  10. echo "123"; //czyli twoją $a
  11. break;
  12. case 'b':
  13. echo "456";
  14. break;
  15. case 'c':
  16. echo "789";
  17. break;
  18. default:
  19. echo "Litera
  20. nierozpoznana.";
  21. break;
  22. }
  23. }


poza tym autor sam napisał ze działa tak jak ma tongue.gif

poza tym kto tu ma problem autor czy Ty? bo wydawało mi się, że autorowi odpowiadam, wiec następnym razem mnie nie "pouczaj" wink.gif
radekk
com ja też zobaczyłem, że troche inaczej to napisałeś, ale ten kawałek kodu sam dopisałem. wiesz jak teraz to odwrócić ten "szyfr"? :-)
com
podzielić stringa na 3 wrzucić do tabicy i porównywać z tymi trójkami wink.gif
radekk
na 3? nie do końca rozumiem... wink.gif
com
No masz np $szfr = 123456; wiec bierzesz odcinasz co 3 czyli masz potem jeden 123 drugi 456

to uzyskasz np tak: http://ideone.com/frYLcX

no a potem to samo co wcześniej tylko w case '123' itd smile.gif

radekk
jeszcze raz dzięki wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.