Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zmienna z kropką w nazwie
bobo1
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Witam,

mam taki problem. W bazie danych mam dane o następującej strukturze:

Klucz | Wartość
k.k1 | wartość 1
k.kk | wartość k
.....

Generalnie chodzi o to, że klucz ma w nazwie kropkę. Teraz chcę stworzyć formularz przy pomocy, którego będę mógł edytować pole wartość.

  1. <?php
  2. echo'<form method="post">';
  3. $zapytanie = "SELECT * FROM tabela LIMIT 0, 10";
  4. $wykonaj = mysql_query($zapytanie) or die ('Nie można wykonać zapytania.');
  5. echo'<table>';
  6. while ($lista = mysql_fetch_array($wykonaj)) {
  7. echo'<tr><td width="300">'.$lista['wartosc'].'</td>
  8.  <td> <input type="text" name="'.$lista['klucz'].'" size="40" maxlength="" value="'.$lista['wartosc'].'"></td>
  9. </tr>';
  10. }
  11. echo'</table> <input type="hidden" name="sended" value="true" />
  12. <input type="submit" value="Zapisz zmiany">
  13. </form>';
  14. }
  15. ?>


Następnie chcę zapisać nowe wartości do bazy. Tylko, że pojawiają się schody ponieważ pole klucz składa się z nazw, które zawierają kropki w związku z czym

Kod
"UPDATE tabela SET en='".$_POST['klucz']."' WHERE key='".$lista['wartosc']."'";


nic nie daje ponieważ wartość $_POST['klucz'] jest pusta.

Wie ktoś co z tym zrobić ?
Powód edycji: złe bbcode /~strife/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Kropki automatycznie zamienia w podkreślenie "_" z tego względu, że jest zarezerwowana przez php. Wystarczy ponownie w drugą stronę to zamienić, np. przez str_replace" title="Zobacz w manualu PHP" target="_manual. Jeśli dobrze zrozumiałem oczywiście (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

PS. Zobacz jakie dane dostajesz:

  1. <?php
  2. echo '<pre>';
  3. var_export($_POST);
  4. echo '</pre>';
  5. ?>
;

PS2. Albo tak hm ..

  1. <form method="post" action="?">
  2. <input type="text" name="<?php echo base64_encode('km.2') ?>" />
  3. </form>
  4.  
  5. <pre>
  6. <?php
  7. foreach ($_POST as $key => $value) {
  8. echo base64_decode($key) . ' => ' . $value;
  9. }
  10. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 03:41