Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nietypowy problem, dane wprowadzone przez formularz różnią się od wyciągniętych z tekstu
smileer
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.05.2012

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


Miałe nie pisać tego pytania bo miał być koniec świata ale poczekałem do północy, nic się nie wydarzyło więc piszę smile.gif

Wprowadzam dane do bazy za pośrednictwem formularza oraz z pliku txt. Później podając dane z klawiatury próbuję je porównać z tym ciągiem wyciagniętym z pliku txt.
Wygląd skrawka bazy: http://imgur.com/VEUw7
Od lewej id, kolumna zawierajaca slowa z klawiatury(nieistotna), kolumna ktora zawiera ciągi wyciagniete z pliku txt (pierwsze dwa od dołu nie były edytowane), następnie wprowadzam poprzez formularz zmienna i np szukam w bazie po tej zmiennej, niestety skrypt nie dopasowuje, nie dziala to.

Zauważyłem ponadto że zaczyna działać gdy w phpmyadmin ręcznie zeedytuje komórkę, tzn. nawet nie zmienię jej, (wszystkie ść itd zostaną) tylko poprostu nadpiszę.
Gdy już nadpiszę daną komórkę to tak jak była pisana jakby od dołu to zaczyna być pisana normalnie od góry.( tak jak na obrazku wszystkie komorki oprocz wierszy 26, 29, 31 kolumny trzeciej).

Zmienna która takie probelmy sprawia to $wylosowany.


Jeśli piszę nieskładnie może kod rozjaśni sprawę:
Plik zakoduj:
  1. echo "<form method='POST'>
  2. <center>
  3. <textarea style='position:relative; width:420px; height:170px; top:20px;' name='tekst'>Tu wprowadź tekst</textarea>
  4. <button style='position:relative; width:300px; top:35px;'>Zakoduj</button><br>";
  5. $tekst = $_POST['tekst'];
  6. $tekst2 = $tekst;
  7. if ($tekst != "Tu wprowadź tekst" && $tekst != "" )
  8. {
  9.  
  10. $znaki = fopen('tadeusz.txt', 'r');
  11. $tekst = fread($znaki,488911);
  12. $losowa = rand(0,488911);
  13. while ( substr($tekst, $losowa, 1) != "."){
  14. $losowa++;
  15. }
  16. $losowa++;
  17. $losowa2 = $losowa +30;
  18. while ( substr($tekst, $losowa2, 1) != " "){
  19. $losowa2++;
  20. $zmienna++;
  21. }
  22. $zmienna = $zmienna +30;
  23. $wylosowany_ciag = substr($tekst, $losowa, $zmienna);
  24. $wylosowany = $wylosowany_ciag;
  25.  
  26. mysql_connect('', '', '')or die('<br />Błąd polaczenia');
  27. mysql_select_db('bluetest2_y0_pl')or die('<br />Błąd wyboru bazy');
  28. mysql_query("SET CHARSET utf8");
  29. mysql_query("Set NAMES `utf8` COLLATE `utf8_polish_ci`");
  30.  
  31.  
  32. $zapytanie = "INSERT INTO `baza` (`id`, `tresc`,`haslo`) VALUES (' ','$tekst2','$wylosowany')";
  33. $dodaj = mysql_query($zapytanie)or die('<br />Błąd zapytania');
  34. mysql_close($sql_conn);
  35.  
  36. echo "<input style='position:relative; width:300px; top:50px;' type='text' name='nazwa' value='$wylosowany_ciag'>";
  37. }
  38.  
  39. echo "</center>
  40. </form>";
  41. ?>


Odkoduj:
  1. <?php
  2. echo "<form method='POST'><center><input style='position:relative; width:300px; top:15px;' type='text' name='hasloqwe' value='Tu wprowadź hasło'>
  3. <button style='position:relative; width:300px; top:25px;'>Odkoduj</button><br>";
  4. $haslo = $_POST['hasloqwe'];
  5. mysql_connect('', '', '')or die('<br />Błąd polaczenia');
  6. mysql_select_db('bluetest2_y0_pl')or die('<br />Błąd wyboru bazy');
  7. mysql_query("SET CHARSET utf8");
  8. mysql_query("Set NAMES `utf8` COLLATE `utf8_polish_ci`");
  9. $zapytanie = "SELECT `tresc` FROM `baza` WHERE `haslo`='$haslo'";
  10. $haslo_gotowe = mysql_query($zapytanie)or die('<br />Błąd zapytania');
  11. mysql_close($sql_conn);
  12. while ($haslo_jeszcze_bardziej_gotowe = mysql_fetch_row($haslo_gotowe)){
  13. echo "<textarea style='position:relative; width:420px; height:160px; top:40px;' name='tekst'>$haslo_jeszcze_bardziej_gotowe[0]</textarea></center></form>";
  14. }
  15. ?>


Wiem, że skrypt nie posiada żadnych zabezpieczeń, po prostu uczę się, jak ten mój problem zostanie rozwiązany wezmę się za jakieś zabezpieczenia, zacznę od filtrowania wprowadzanych danych.

Nie znalazłem podobnego problemu, a może poprostu nie umiem nazwać tego problemu i dlatego nie znalazłem.

Brakło sformatowania ciagu funkcją trim. Chodź dalej nie rozumiem dlaczego wyciągnięty ciąg z pliku txt zawierał białe znaki które tak mi marudziły.

Temat więc do zamknięcia.

Ten post edytował smileer 21.12.2012, 00:25:13
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 12:02