login  Naam:   Wachtwoord: 
Registreer je!
 Forum

var in input name

Offline Janv - 14/10/2009 15:32
Avatar van JanvNieuw lid Hallo,

Ik heb een var in een input name, dus:

echo "<input type=\"text\" name=\"".$sBlaat."\">";

Die $sBlaat komt van de database maar wat als die nu ook een " waarde heeft, ik heb er al een mysql_real_escape_string en een stripslashes opgezet, maar ik kan die input nog altijd niet echo en.

Mvg,
Jan

9 antwoorden

Gesponsorde links
Offline ArieMedia - 14/10/2009 15:35
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Waarom sla je hem dan ook zo op?
Ik vind het sowieso netter om met singlequotes te werken..

  1. echo '<input type="text" name="'.$sBlaat.'">';


Gewoon een kwestie van goed in je tabel opslaan
Offline WebDevHobo - 14/10/2009 15:59
Avatar van WebDevHobo Lid Wat Arie zegt klopt, maar er zijn nog een hoop meer karakters die op die manier voor problemen kunnen zorgen.

Hiervoor bestaat de functie htmlentities()
Offline Janv - 14/10/2009 16:13
Avatar van Janv Nieuw lid Heel raar maar het werkt nog niet.
Het word eigelijk zo opgeroepen:

$sInputName = $sStap2['input_name'];
$_POST[$sInputName]

De input namen worden dus door de database gekozen.
Kan het zijn als daar een " teken bijzit dat hij niet werkt?

Mvg,
Jan
Offline ArieMedia - 14/10/2009 16:20
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Kan je misschien wat meer code posten, dit word namelijk een beetje gokken hoe je het gebruikt, en gokken ben ik niet zo heel erg goed in.
Offline Kwarde - 14/10/2009 16:26
Avatar van Kwarde Nieuw lid Arie2Zero heeft gelijk. Je moet misschien even op Plaatscode.be de gehele code plaatsen, want dan is het iets handiger
Offline Janv - 14/10/2009 16:28 (laatste wijziging 14/10/2009 16:30)
Avatar van Janv Nieuw lid
  1. <?php
  2. $sQuery2 = "SELECT id, input_name FROM stap2 ORDER BY input_name";
  3. $sResult2 = mysql_query($sQuery2);
  4. $sCount2 = mysql_num_rows($sResult2);
  5.  
  6. echo '
  7. <table width="30%">
  8. ';
  9. while ($sStap2 = mysql_fetch_assoc($sResult2)){
  10. echo '
  11. <tr>
  12. <td>'.$sStap2['input_name'].'*:<td>
  13. <td><input type="text" name="'.$sStap2['input_name'].'" style="width: 250px;"></td>
  14. </tr>
  15. ';
  16. }
  17. echo '
  18. <tr>
  19. <td><input type="submit" name="stap3" value="Ga naar stap 3"></td>
  20. </tr>';
  21.  
  22. echo '
  23. </table>
  24. ';
  25. }
  26.  
  27. if (isset ($_POST['stap3'])){
  28. echo '<font size="6px">Stap 1 | Stap 2 | <font color="GREEN">Stap 3</font></font><br /><br />';
  29. echo '<p>Controleer de gegevens:<p>';
  30. echo '<table width="25%">';
  31. while ($sStap2 = mysql_fetch_assoc($sResult2)){
  32. $sInputName = $sStap2['input_name'];
  33. echo "
  34. <tr>
  35. <td><b>".$sStap2['input_name']."*:</b><td>
  36. <td>".htmlentities($_POST[$sInputName])."</td>
  37. </tr>
  38. ";
  39. }
  40. echo "</table>";
  41.  
  42. }
  43. ?>


Het komt er op neer dat ik zelf velden wil kunnen toevoegen in een paneel. En bij de derde stap is er een controle wat ik ingevuld heb. Dat zijn die 2 td's vanonder. En als ik bij een veld " teken gebruik, laat hij niet zien wat ik ingevuld heb. Alleen die van de andere velden natuurlijk
Offline ArieMedia - 14/10/2009 16:43
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Het is netter om eerst je post af te handelen, en daarna de content terug te sturen, maar dit gaat je probleem in dit geval niet oplossen .

Overigens controleer je ook niet of die post echt gezet is..
  1. if(isset($_POST[$sInputName])) {
  2.  
  3. } else {
  4.  
  5. }

Misschien dat dit het probleem kan zijn, ik zie ook niet zo snel een fout..
Offline Janv - 14/10/2009 16:48 (laatste wijziging 14/10/2009 17:10)
Avatar van Janv Nieuw lid Weet iemand hoe ik een " teken verbied in een INPUT?
' is wel welkom..
Offline BigBug - 14/10/2009 20:12
Avatar van BigBug PHP expert Reguliere expressies zou je kunnen gebruiken. Dit is wel het mooiste.

Je kan natuurlijk ook altijd het karakter verwijderen door 'm met PHP.net: str_replace te overrulen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s