[HTML][MySQL][PHP]Wczytanie rekordów z bazy MYSQL ze znakami specjalnymi do formularza, Jak przesyłać dane z jednego formularza do drugiego gdzie w rekord są |
[HTML][MySQL][PHP]Wczytanie rekordów z bazy MYSQL ze znakami specjalnymi do formularza, Jak przesyłać dane z jednego formularza do drugiego gdzie w rekord są |
21.07.2018, 12:25:40
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 20.11.2011 Ostrzeżenie: (0%) |
Witam!
Wczytuję z bazy Mysql rekord ze znakami specjalnymi np; cat's, do formularza nr1. Wszystko ładnie się wyświetla, następnie chcę przesłać ten rekord do następnego nr2 formularza i tutaj jest problem. Inne rekordy które zaznaczę do przesłania w formularzu nr1, bez znaków specjalnych są wczytywane w formularzu nr2, ale te ze znakami już nie. Stosowałem funkcję mysqli-real_escape_string i nie pomaga, nadal nie przekazuje pomiędzy formularzami tychże rekordów. Coś robię źle, tylko nie wiem co. Pomocyyyyy. Adam |
|
|
21.07.2018, 14:12:44
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) |
Pokaż kod.
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
23.07.2018, 08:35:26
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 20.11.2011 Ostrzeżenie: (0%) |
Kod pierwszego formularza w którym wyszukuję towar z bazy;
Kod <html> <head> <meta charset="utf-8" /> <title>Znajdź rekord do wpisania</title> </head> <body> <?php // Łączymy się z serwerem include_once ("db/connect.php"); ?> <h3 align="szukajnazwy">Szukanie wg nazwy:</h3> <form action="admin_modrecord1.php" method="GET"> <p>Podaj nazwę towaru: </p> <input type="text" name="towar" autofocus size="30" required> <br> <input type="submit" value="Pokaż"> </form> <?php $sn1 = $_GET['towar']; $like = "%".$sn1."%"; //parametry do zapytania z LIKE echo"Zmienna LIKE;".$like."<br />"; $stmt = $mysqli->prepare("SELECT indeks, nazwa FROM towar WHERE nazwa like ? ORDER BY nazwa"); $stmt->bind_param('s', $like); $stmt->execute(); $stmt->bind_result($indeks, $nazwa); echo ' <form action="admin_modrecord2.php" method="POST" > <label for="Nazwa">Nazwa towaru</label> <select name="sel_record">'; while ($stmt->fetch()) { echo " <option value= '$nazwa'>$nazwa : $indeks </option>"; } echo '<input type="submit" value="Wybierz produkt" /> </form> </select> '; $stmt->close(); /* close connection */ $mysqli->close(); ?> </body> </html> Teraz formularz nr 2 w którym nie wyświetlają się towary ze znakami specjalnymi, np. cat's Kod <html> <head> <meta charset="utf-8" /> <title>Zapisz towar, rekord</title> </head> <body> <?php // Łączymy się z serwerem include_once ("db/connect.php"); $sel_record2 =$_POST['sel_record']; echo"Sel Record z Mysqli; ".$sel_record2. "<br />"; $stmt = $mysqli->prepare("SELECT t.indeks, t.nazwa, t.vat, t.pkwiu, t.jm, thf.ilosc, thf.cena_n_z, k.kod_kreskowy FROM towar t LEFT JOIN (faktura f, faktura_has_towar thf, kod_ean k) ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura AND t.id_towar=k.id_towar) WHERE t.nazwa = ? ORDER BY f.data_zak DESC LIMIT 0, 1"); $stmt->bind_param('s', $sel_record2); $stmt->execute(); $stmt->bind_result($indeks, $nazwa, $vat, $pkwiu, $jm, $ilosc, $cena_z, $kod_k); echo "Nazwa w bazie:" .$nazwa; $stmt->fetch(); if (!$stmt) { echo '<p>Nie można pobrać listy !'; } echo "Indeks w mood2 : " . $indeks . " Nazwa : " . $nazwa . " Kod kreskowy: " . $kod_k; echo" <form method='POST' action='admin_addrecord11.php'> <section > Indeks : <input type='text' name='indeks' value='$indeks'size='20' /><br /> Nazwa : <input type='text' name='nazwa' value='$nazwa' size='40' /><br /> Jm : <input type='text' name='jm' value='$jm' size=5 /> Ilość: <input type='text' name='ilosc' value='$ilosc' size=5 /> Cena zakupu : <input type='text' name='cena_z' value='$cena_z' size=8 /><br /> PKWiU : <input type='text' name='pkwiu' value='$pkwiu' szize=10 /><br /> Vat : <input type='text' name='vat' value='$vat' size=8 /><br /> Kod kreskowy: <input type='text' name='kod_k' value='$kod_k' maxlength='13' size='13' /><br /> <input type='submit' value='Dodaj nowy produkt' /> </section> <a href='admin_modrecord1.php' target='Powrót' >Powrót : </a> </form>"; /* free result set */ $stmt->close(); /* close connection */ $mysqli->close(); ?> </body> </html> Natomiast nazwy proste bez tych znaczków wchodzą bez problemu. Proszę o pomoc..... |
|
|
23.07.2018, 10:48:51
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) |
Akurat sprawa jest prozaiczna.
Jaki ciąg znaków otrzymasz, jeśli zamiast $indeks wstawisz np. wyraz can't? Otóż taki:
co oznacza, że atrybut value zostaje zamknięty po can. Musisz sobie zmienić ciapki na cudzysłowie. Czyli np. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
Wersja Lo-Fi | Aktualny czas: 11.05.2024 - 09:40 |