Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nieznośny cudzysłów w zmiennej get
Forum PHP.pl > Forum > Przedszkole
emeres1
Witam,
po odebraniu zmiennej get ( $pobranaid = $_GET['id']; ) moja zmienna wartosc \"2\" zamiast samego 2.Poradzi ktoś czym to wydłubać?biggrin.gif
Quantum
pokaż jak wygląda adres z tym parametrem, bo to nie jest normalne zachowanie winksmiley.jpg
emeres1
<?php
include_once('db.php');
$pobranaid = $_GET['id'];
if(empty($pobranaid)){
echo "nie ma";

} else {

$foto = mysql_query("SELECT id,nazwa,user FROM pierwszafaza WHERE id='$pobranaid'");
$foto1 = mysql_num_rows($foto);
$foto2 = mysql_fetch_assoc($foto);
echo "<img src=\"".$foto2['nazwa']."\">";


echo "$pobranaid";
?>


a to skrypt z adresem:

<?php
include_once('db.php');

$wynik=mysql_query("SELECT nazwa,user,id FROM pierwszafaza ORDER BY id DESC ");
$znalezionych=mysql_num_rows($wynik);
echo "<table width=100%><tr>";
$i=1;
while($r = mysql_fetch_assoc($wynik)){

echo "<td><img class='odbiorclass' src=\"".$r['nazwa']."\"></td><td>
<a href='#'>\"".$r['id']."\"</a></td><td>
<a href='odbior.php?id=\"".$r['id']."\"'>Dodaj</a></td><td><a href='#'>Usuń</a></td></tr>";
}
echo "</table>";

?>
z gory dzieki

\"".$r['id']."\" problem pewnie jest w tym jednak ktos kiedys mi powiedzial ze to tak ma wygladac,kombinowalem na 100 innych sposoby ale dostaje blad parsowania.
JaRoPHP
Witam,

Zerknij, w jaki sposób konstruujesz odsyłacz z etykietą "Dodaj" - do identyfikatora dodajesz cudzysłów, co jest przyczyną błędu. Powinno być mniej więcej tak:
  1. <a href='odbior.php?id=\".$r['id'].\"'>Dodaj</a>


-- EDIT (do postu Quantum (poniżej))
Jak najbardziej, slashe są zbyteczne
Quantum
Cytat(JaRoPHP)
Witam,

Zerknij, w jaki sposób konstruujesz odsyłacz z etykietą "Dodaj" - do identyfikatora dodajesz cudzysłów, co jest przyczyną błędu. Powinno być mniej więcej tak:

  1. <a href='odbior.php?id=\".$r['id'].\"'>Dodaj</a>


te slash-e nie są tam potrzebne winksmiley.jpg

  1. <a href='odbior.php?id=".$r['id']."'>Dodaj</a>
emeres1
Cytat(JaRoPHP @ 27.06.2010, 09:41:36 ) *
Witam,

Zerknij, w jaki sposób konstruujesz odsyłacz z etykietą "Dodaj" - do identyfikatora dodajesz cudzysłów, co jest przyczyną błędu. Powinno być mniej więcej tak:
  1. <a href='odbior.php?id=\".$r['id'].\"'>Dodaj</a>


-- EDIT (do postu Quantum (poniżej))
Jak najbardziej, slashe są zbyteczne


Próbowałem wcześniej w ten sposób i na 100 i inna forma (Twoja również) wywala mi błąd Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\usr\apache\httpd\html\jail1\odbior.php on line 14
Normalnie stosuje formacje cudzysłowów i apostrofów " ' ' " i wszystko jest okej z tym nie moge sobie poradzić.

gra dzieki wielkie:)
bastard13
emeres1, korzystaj z bbcode jak wrzucasz kod.
A co do wysyłania get'a to niepotrzebnie umieszczasz go w cudzysłowiu
  1. echo "<td><img class='odbiorclass' src=\"".$r['nazwa']."\"></td><td>
  2. <a href='#'>\"".$r['id']."\"</a></td><td>
  3. <a href=\"odbior.php?id=".$r['id']."\">Dodaj</a></td><td><a href='#'>Usuń</a></td></tr>";

jak to nie zadziała to dodaj sobie
  1. echo 'odbior.php?id='.$r['id'];

i napisz, co ci wyrzuca.
Quantum
na przyszłość, gdy mieszasz php z html, rób to w ten sposób:

  1. <?php for ($i = 1; $i < 1000; $i++) { ?>
  2.  
  3. <tr>
  4. <td>Pierwiastek z <?php echo $i ?>:</td>
  5. <td><?php echo sqrt($i) ?></td>
  6. </tr>
  7.  
  8. <?php } ?>


ewentualnie, możesz w kodzie html stosować cudzysłowy, a w php apostrofy, unikniesz wstawiania "\" przed każdym cudzysłowem.
ixpack
A tak szybciej:

  1. $pobranaid = stripslashes($_GET['id']);


wtedy $pobranaid będzie = 2, a nie \2\
Quantum
@ixpack, gratuluje ... jakbyś przeczytał temat to może byś wiedział, że chodziło o źle napisany kod - chyba lepiej zlikwidować przyczynę niż ją tylko zasłonić ? dodatkowo dodając kolejny filtr zwiększasz czas wykonywania skryptu przez interpreter
ixpack
@Quantum - rację masz. Nie przejrzałem tego, co poczytać powinienem.
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.