• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zagnieżdżanie HTML-a w PHP (apostrof, cudzysłów)

0 głosów
82 wizyt
pytanie zadane 11 stycznia w PHP, Symfony, Zend przez użytkownika wojtekd09 Nowicjusz (150 punkty)

Witam,

Czy może mi ktoś powiedzieć jak powinien wyglądać prawidłowy zapis dla następującej linijki?

echo "<input type='checkbox' name="."'pozycja'.$i"." value=1/>";

Chcę zagnieździć w php kod html-a, a dokładnie formularz. Zawiera on kilkanaście pól typu checkbox i chcę, aby każde pole miało nazwę pozycja z doklejonym indeksem ukrytym pod zmienną

$i

Chyba muszę popełniać błąd z cudzysłowami i apostrofami, bo cały czas mi wychodzi informacja typu:

nie zdefiniowano indeksu pozycja0.

2 odpowiedzi

+1 głos
odpowiedź 11 stycznia przez użytkownika Arkadiusz Waluk Mędrzec (158,300 punkty)
wybrane 11 stycznia przez użytkownika wojtekd09
 
Najlepsza
Zajrzyj po prostu w kod i zobacz jaki jest jego efekt: https://3v4l.org/0Fgvk

Jak dla mnie jest to wyjątkowo nieczytelne i zapisałbym tak: https://3v4l.org/gnTYp
komentarz 11 stycznia przez użytkownika wojtekd09 Nowicjusz (150 punkty)

Dziękuję. A czy mógłbyś spojrzeć na jeszcze jeden fragment, bo próbowałem różnych konfiguracji i nie mogę nadal tych apostrofów ustalić prawidłowo.

$rezultat=@$polaczenie->query("DELETE FROM testowa WHERE id='$_SESSION['id'.$i]'");

 

komentarz 11 stycznia przez użytkownika Arkadiusz Waluk Mędrzec (158,300 punkty)
$rezultat = $polaczenie->query('DELETE FROM testowa WHERE id='.$_SESSION['id'.$i]);

Tak powinno być w porządku, z cudzysłowami też by działało. A cyfry (id) nie potrzebujesz brać ani w cudzysłowy ani apostrofy.

Zupełnie przy okazji to radzę nie używać @ bo ukrywają błędy (a zamiast ukrywać lepiej zobaczyć i poprawić). A dane do zapytania polecam bindować, dzięki czemu mamy od razu zabezpieczenie przed sql injection (akurat w tym przypadku podstawiasz dane z sesji, być może nie są pobierane wprost od użytkownika więc i ryzyko mniejsze).

komentarz 11 stycznia przez użytkownika wojtekd09 Nowicjusz (150 punkty)
Bardzo Ci dziękuję za pomoc. Teraz działa tak jak powinno.
0 głosów
odpowiedź 13 stycznia przez użytkownika chumanista Początkujący (320 punkty)

 


echo '<input type="checkbox" name="."'pozycja.$i"." value=1/>';



 

komentarz 13 stycznia przez użytkownika Arkadiusz Waluk Mędrzec (158,300 punkty)
To jest błędny kod, nie ma prawa zadziałać.

Podobne pytania

0 głosów
3 odpowiedzi 86 wizyt
pytanie zadane 29 grudnia 2015 w PHP, Symfony, Zend przez użytkownika karolk1235 Użytkownik (860 punkty)
0 głosów
2 odpowiedzi 182 wizyt
pytanie zadane 13 lutego 2016 w PHP, Symfony, Zend przez użytkownika Tomasz Hełmecki Początkujący (250 punkty)
+1 głos
3 odpowiedzi 190 wizyt
pytanie zadane 18 sierpnia 2015 w PHP, Symfony, Zend przez użytkownika MrChalski Użytkownik (660 punkty)
...