<div dir="ltr"><div>Miki, perdona que abusi...<br></div><div><br>Per cert, què significa l'enllaç a 'xkcd'?<br><br>A veure si ho entenc; suposem 2 camps varchar i 1 int: seria així?<br><br>$stmt = $dbConnection->prepare('INSERT INTO inscrits (nomCognoms, adreca, quota ) values (?, ?, ?)');<br>$stmt->bind_param('s', $nom, 's', $adreca, 'i', $quota);  // els varchar->'s' i els int 'i'?<br><br>$stmt->execute();<br><br></div><code><span class="gmail-pun"></span></code>Salut!<br><div><code><span class="gmail-pun"></span></code><div><pre class="gmail-lang-sql gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pun"><br><br></span></code></pre><div class="gmail_extra"><br><div class="gmail_quote">El dia 12 d’abril de 2017 a les 13:45, Miki <span dir="ltr"><<a href="mailto:mikcat@gmail.com" target="_blank">mikcat@gmail.com</a>></span> ha escrit:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div> $nom = $_POST['nom'];<span class="gmail-"><br><br>  $query = "INSERT INTO inscrits (nomCognoms, ...) values<br>                                  ('$nom',...)";<br><br></span></div>$nom és tal qual lo que t'envien del formulari, i si t'envien:<br><br>unnom'); DROP TABLE inscrits;--<br><br></div>la query anterior queda com:<br><br><div><div><div><span class="gmail-">INSERT INTO inscrits (nomCognoms, ...) values<br></span>                                  ('unnom'); DROP TABLE inscrits;--',...)<br><br><a href="https://xkcd.com/327/" target="_blank">https://xkcd.com/327/</a><br><br></div><div>Això és un exemple clàssic, mai pots confiar en l'input de l'usuari<br><br></div><div>per evitar-ho, com diuen a la resposta d'stackoverflow<br><br>$stmt = $dbConnection->prepare('NSERT INTO inscrits (nomCognoms, ....) values (?, ...)');<br>$stmt->bind_param('s', $nom);<br><br>$stmt->execute();<br></div><div><br></div><div>sanititzar vol dir escapar/treure tots els caràcters reservats "que poden fer mal" al lloc on faràs servir aquell valor<br></div><div>per exemple per sql les comilles simples ' s'escaparien \'  i el input anterior ja no et faria mal.<br></div><div>per html els tags <script> es convertirien a entities &lt;script&gt; el que evita que et colin javascript maliciós quan pintes aquell camp directament per pantalla<br></div><div>etc, etc, etc<br></div><div><br></div><div><br></div></div></div></div><div class="gmail-HOEnZb"><div class="gmail-h5"><div class="gmail_extra"><br><div class="gmail_quote">El dia 12 d’abril de 2017 a les 13:18, Joan Inglada Roig <span dir="ltr"><<a href="mailto:joan.inglada@gmail.com" target="_blank">joan.inglada@gmail.com</a>></span> ha escrit:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Bé, Miki, gràcies, però m'ho he pensat abans de posar-ho. No hi ha cap nom real. La url és pública. On és el perill? Què vol dir "sanititzis els params"?<br></div><div class="gmail_extra"><br><div class="gmail_quote">El dia 12 d’abril de 2017 a les 11:56, Miki <span dir="ltr"><<a href="mailto:mikcat@gmail.com" target="_blank">mikcat@gmail.com</a>></span> ha escrit:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>bufff....  mai hauries de fer això, i si és codi real, encara menys publicar-ho en una llista de correu pública amb la url.<br><br>Et recomano fer un cop d'ull a<br><a href="http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php" target="_blank">http://stackoverflow.com/quest<wbr>ions/60174/how-can-i-prevent-s<wbr>ql-injection-in-php</a><br><br></div>I que sanititzis els params tan aviat com puguis<br><br></div>No sé si algun administrador de la llista pot esborrar aquests 2 missatges... o com a mínim amagar-los <br></div><div class="gmail-m_-5058708799825871893m_5240668520593968146HOEnZb"><div class="gmail-m_-5058708799825871893m_5240668520593968146h5"><div class="gmail_extra"><br><div class="gmail_quote">El dia 12 d’abril de 2017 a les 10:41, Joan Inglada Roig <span dir="ltr"><<a href="mailto:joan.inglada@gmail.com" target="_blank">joan.inglada@gmail.com</a>></span> ha escrit:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Aquí tens un esquema del que es fa per a obtenir les inscripcions:<br><br></div>En el inscripcions.php hi ha això:<br><div><br><pre id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line1"><span> </span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">form</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">id</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">formu</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">name</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">formu</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">method</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">post</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">action</span>="anotacions.php" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">onReset</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">controlaCaselles();</a>"></span><span></span></pre><div class="gmail_extra">...<br><pre id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line1"><span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">tr</span>></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line157"></span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">td</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">width</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">191</a>"></span><span></span><span>Nom i cognoms:</span><span></span><span></span><span></<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559end-tag">td</span>></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line162"></span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">td</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">colspan</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">3</a>"></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">input</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">name</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">nom</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">id</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">nom</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">size</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">40</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">type</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">text</a>" <span>/</span>></span><span></<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559end-tag">td</span>></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line165"></span></span><span></<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559end-tag">tr</span>><br></span><span></span></pre><div class="gmail_quote">...  i així tots els camps del formulari. Al final hi ha un control antirobots i el tancament:<br><br><pre id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line1"><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">tr</span>></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line570"></span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">td</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">colspan</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">5</a>"></span><span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">input</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">name</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">envia</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">id</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">envia</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">value</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">Envia</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">onClick</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">return validaHo();</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">type</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">button</a>" <span>/</span>></span><span></span><span></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line572"></span></span><span><<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-start-tag">input</span> <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">name</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">neteja</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">id</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">neteja</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">value</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">Neteja</a>" <span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-name">type</span>="<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-attribute-value">reset</a>" <span>/</span>></span><span></span><span></<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559end-tag">td</span>></span><span>
<span id="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-line573"></span></span><span></<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559end-tag">tr</span>></span><span></span></pre>En anotacions.php hi ha:<br><br></div><div class="gmail_quote">// Connexió a la base de dades<br></div><div class="gmail_quote"><br>$link = mysql_connect('localhost', 'usuari', 'contrasenya')<br>       or die('Error de connexió: ' . mysql_error());<br>    mysql_select_db('basededades') or die('base de dades inaccessible');<br><br>// Prenem les dades que ens arriben per post<br><br>     $nom = $_POST['nom'];<br><br></div><div class="gmail_quote">... i així tots els camps del formulari<br><br>echo "<tr><td>Nomo / Nom</td><td>$nom</td></tr>";<br><br>... i així tots els camps del formulari<br><br>// Sentència SQL a executar<br><br>    $query = "INSERT INTO inscrits (nomCognoms, ...) values<br>                                  ('$nom',...)";<br>     $rs = mysql_query($query,$link) or die($error.'[S\'ha produït un error quan s\'intentava donar d\'alta la nova inscripció]' . mysql_error($link));<br><br><p>Enhorabona! Us heu inscrit correctament</p><br><br><p><a href="<a href="http://www.esperanto.cat/kongresoj/2017/index.php?llengua=1" target="_blank">http://www.esperanto.cat<wbr>/kongresoj/2017/index.php?llen<wbr>gua=1</a>">Clica aquí per tornar a la pàgina principal</a></p><br><br><p>Imprimiu la inscripció amb Ctrl P</p><br><br>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------<br><br></div><div class="gmail_quote">Això és tot:<br></div><div class="gmail_quote">    <br></div><div class="gmail_quote">El que jo preguntava és si coneixeu la manera de crear automàticament un pdf que s'enviés també automàticament a l'adreça de correl que està en un dels camps del formulari? <br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Salut!<br></div><div class="gmail_quote">Joan<br></div><div class="gmail_quote"><br><br><br><br>El dia 11 d’abril de 2017 a les 16:28, Joan Carles <span dir="ltr"><<a href="mailto:palimsesto@gmail.com" target="_blank">palimsesto@gmail.com</a>></span> ha escrit:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <div class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-m_-7009345479642375757moz-cite-prefix">El 11/04/17 a les 15:08, Joan Inglada
      Roig ha escrit:<br>
    </div><span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-">
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>Bones! No sé si podré ajudar gaire, però segurament que
            podré aprendre alguna cosa. <br>
            <br>
          </div>
          Preàmbul: Sóc membre de l'Associació Catalana d'Esperanto i
          visc a Agulló-Àger, al peu del Montsec, on hi ha un Parc
          Astronòmic. La ciutat més esperantista de Catalunya ha estat
          històricament Sabadell i alguns dels esperantistes
          sabadellencs són socis gairebé fundadors de l'Agrupació
          Astronòmica de Sabadell i des que es va inaugurar el Centre
          d'Observació de l'Univers que estan proposant que el congrés
          bianual dels esperantistes catalans es faci a Àger. <br>
          <br>
          Enguany ha tocat i jo que sóc un vell (una mica ->)
          informàtic -des del 1969- he estat encarregat de les <a href="http://www.esperanto.cat/kongresoj/2017" target="_blank">pàgines del
            congrés</a> i tot està muntat en sistema php i mysql. El que
          no sabia ho he preguntat a fòrums i la cosa rutlla.<br>
          <br>
          El que jo he fet és que un cop la gent omple la inscripció al
          congrés, que es guarda en una taula sql, faig aparèixer un
          resum a la pantalla amb la nota de que s'ho guardin amb Ctrl P
          i al llegir això del formulari he pensat que seria interessant
          trobar la manera de guardar la inscripció en document pdf i
          enviar-lo a l'adreça electrònica del inscrit.<br>
          <br>
        </div>
        <div>Si m'estic posant on no em demanen m'ho dieu i plego!<br>
        </div>
        <div><br>
        </div>
        <div>Salut,<br>
        </div>
        <div>Joan<br>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <br></span>
    Hola!<br>
    Penso que aquí tothom pot dir la seva i els que no sabem, aprendrem.<br>
    No se si t'agafe del tot, però potser dius que...."poses un codi amb
    la notació de Ctrl P, es guarda en pdf i es poguera rebre a casa",
    llavors s'ha generat un document pdf amb les dades omplertes al
    formulari, no? i que apareix al lloc on s'han dirigit del servidor.
    Correcte?<br>
    <br>
    D'entrada, jo no se crear el codi que dius en php però que aparega
    el que dius, tan de bo ho sabera; i bo mostrar-les d'altra forma sí
    ho veig interessant...però tinc limitacions.<br>
    Fins on vols anar a parar?...doncs a la creació d'un nou format si
    et segueixo, però mès no acabo d'albirar-ho.<br>
    <br>
    Potser, és un pèl més del que demanava jo, que es circunscrivia
    només a llegir les dades del formulari al servidor creat, però que
    si es pot fer de manera fàcil sóc tot oïdes.<br>
    <br>
    Mentre estic tractant de d'instal.lar "bootstrap" i s'<a href="http://instal.la" target="_blank">instal.la</a>,
    segon sembla,però després no puc veure on és per engegar-lo i veure
    les plantilles, però també és altre tema i no anem a barrejar.<br>
    <br>
    Gràcies per afegir noves possibilitats, però tenen limitacions per
    mi ara per ara.<span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051HOEnZb"><font color="#888888"><span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-"><br>
    <pre class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-m_-7009345479642375757moz-signature" cols="72">-- 
Salutacions,

Joan Carles
Usuari GNU/Linux #324197#
<a class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051m_2331424414197684559gmail-m_-7009345479642375757moz-txt-link-freetext" href="http://counter.li.org/" target="_blank">http://counter.li.org/</a>

</pre>
  </span></font></span></div><span class="gmail-m_-5058708799825871893m_5240668520593968146m_3326851898516219051HOEnZb"><font color="#888888">

<br>--<br>
Ubuntu-cat mailing list<br>
<a href="mailto:Ubuntu-cat@lists.ubuntu.com" target="_blank">Ubuntu-cat@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-cat" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailm<wbr>an/listinfo/ubuntu-cat</a><br>
<br></font></span></blockquote></div><br></div></div></div><span class="gmail-m_-5058708799825871893HOEnZb"><font color="#888888">
<br>--<br>
Ubuntu-cat mailing list<br>
<a href="mailto:Ubuntu-cat@lists.ubuntu.com" target="_blank">Ubuntu-cat@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-cat" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailm<wbr>an/listinfo/ubuntu-cat</a><br>
<br></font></span></blockquote></div><span class="gmail-m_-5058708799825871893HOEnZb"><font color="#888888"><br></font></span></div><span class="gmail-m_-5058708799825871893HOEnZb"><font color="#888888">
</font></span></div></div><span class="gmail-m_-5058708799825871893HOEnZb"><font color="#888888"><br>--<br>
Ubuntu-cat mailing list<br>
<a href="mailto:Ubuntu-cat@lists.ubuntu.com" target="_blank">Ubuntu-cat@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-cat" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailm<wbr>an/listinfo/ubuntu-cat</a><br>
<br></font></span></blockquote></div><br></div>
<br>--<br>
Ubuntu-cat mailing list<br>
<a href="mailto:Ubuntu-cat@lists.ubuntu.com" target="_blank">Ubuntu-cat@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-cat" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailm<wbr>an/listinfo/ubuntu-cat</a><br>
<br></blockquote></div><br></div>
</div></div><br>--<br>
Ubuntu-cat mailing list<br>
<a href="mailto:Ubuntu-cat@lists.ubuntu.com">Ubuntu-cat@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-cat" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>mailman/listinfo/ubuntu-cat</a><br>
<br></blockquote></div><br></div></div></div></div>