Il problema quasi sicuramente sta che alla terza variabile trova un nome con uno spazio di mezzo.

Prova

Codice PHP:
[url="index.php?var1=testo commento"]click[/url
e

Codice PHP:
[url="index.php?var1=testo"]click[/url
il primo con le virgolette e il secondo senza, noterai che in quello senza virgolette il link viene interrotto proprio sullo spazio


se ho un div generato da una echo non metto <div id="ciao">
E perché no? Puoi tranquillamente usare il carattere di escape \"

Anche se non mettendo le virgolette a volte il codice funziona lo stesso, non metterle è errore.