login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hoofdletters verdwijnen

Offline qubus - 15/09/2009 14:12
Avatar van qubusLid Hallo,

Ik heb een HTML formulier waar ik een tekstvak in heb staan. De wordt met een $_POST verzonden, en weggeschreven in een database. Het script werkt prima op mijn site, maar nu heb ik excact hetzelfde script op een ander domein gezet en als ik nu het tekstvak invul en weg laat schrijven, staat de tekst zonder hoofdletters in de database. Als ik de $_POST echo aan het begin van het script, zijn de hoofdletters al weg.

Ik heb me suf gezocht, maar kan geen aankooppunt vinden om het op te lossen.

Iemand een idee???

10 antwoorden

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

PHP ver gevorderde
gebruik je niet toevallig ergens PHP.net: strtolower,
En anders valt het gemakkelijk op te lossen met PHP.net: strtoupper
Offline qubus - 15/09/2009 14:37
Avatar van qubus Lid Nee, dat is niet het probleem...
Offline Ontani - 15/09/2009 16:07
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Dan moet er bijna clientside een script lopen dat al je inputfields naar lowercase omzet alvorens op submit te drukken.
Offline qubus - 17/09/2009 13:24
Avatar van qubus Lid Kan iemand in onderstaande code dan ontdekken waarom de hoofdletters verdwijnen?

  1. $error = "";
  2. include_once "db_connect.php";
  3.  
  4. if ($_SERVER['REQUEST_METHOD'] == "POST") { // Formulier is verzonden
  5. if (empty($_POST['tekst'])) { $error = LANG_VUL_CATEGORIENAAM_IN; }
  6.  
  7. if (empty($error)) {
  8. $sql = mysql_query("SELECT MAX(id) FROM menu_cat");
  9. $new = mysql_fetch_array($sql);
  10. $new_id2 = $new['MAX(id)'];
  11. $new_id = $new_id2 + 1;
  12. $sql4 = mysql_query("SELECT MAX(volgorde) FROM menu_cat");
  13. $new4 = mysql_fetch_array($sql4);
  14. $new_id4 = $new4['MAX(volgorde)'];
  15. $new_id5 = $new_id4 + 1;
  16. mysql_query("INSERT INTO menu_cat (id, name, subkop, taal, volgorde) VALUES ('".$new_id."', '".filter($_POST['tekst'])."', '1' ,'".$_SESSION['taal']."','".$new_id5."')"); ?>
  17.  
  18. <table width="100%">
  19. <tr>
  20. <td width="100%">
  21. <div class="succes"><? echo LANG_DE_CATEGORIE . " " . $_POST['tekst'] . " " . LANG_IS_TOEGEVOEGD?><br /></div><br /><br />
  22.  
  23.  
  24. </td>
  25. </tr>
  26. </table>
  27. <? }
  28. } ?>
  29.  
  30. <? if ($_SERVER['REQUEST_METHOD'] != "POST" || !empty($error)) { // Formulier is niet verzonden of er was een error ?>
  31.  
  32. <table width="100%">
  33. <tr>
  34. <td>
  35. <br /><b><? echo LANG_UITLEG_CATEGORIE; ?></b>
  36. </td>
  37. </tr>
  38. <tr>
  39. <td>
  40. <fieldset>
  41. <legend><? echo LANG_CONFIGURATIE; ?></legend>
  42. <form name="form_toevoegen_cat" method="post" action="index.php">
  43. <br />
  44. <label for="tekst"><? echo LANG_NAAM_VAN_DE_CATEGORIE; ?>: </label>
  45. <input type="text" id="tekst" name="tekst" maxlength="30" size="30" value="<? echo $_POST['tekst']; ?>" />
  46. <? if (!empty($error)) { echo "<br /><br /><label></label><span class=\"rood\">" . $error . "</span><br />"; } ?>
  47. <br /><span class="kleiner"><br /></span>
  48. <label></label>
  49. <input type="hidden" name="pagina" value="admin_toevoegen_cat" />
  50. <input type="hidden" name="taal" value="<? echo $_SESSION['taal']; ?>" />
  51. <input type="submit" name="form_toevoegen_cat" value="<? echo LANG_VOEG_TOE; ?>" class="submit_knop2" />
  52. </form>
  53. </fieldset>
  54. </td>
  55. </tr>
  56. </table>


P.s. Andere 'foutjes' of schoonheden zijn bekend, maar hebben hun reden. (bijv. geen autoincrement)

Hopelijk kan iemand me uit de brand helpen, want ik wordt er gek van dat de hoofdletters verdwijnen!

Alvast heel erg bedankt!
Offline Gerard - 17/09/2009 13:48
Avatar van Gerard Ouwe rakker Gooi de code van die filter() functie eens online.
Offline qubus - 17/09/2009 14:02
Avatar van qubus Lid
Gerard schreef:
Gooi de code van die filter() functie eens online.


Bij deze, maar daar kan het haast niet aan liggen. Als ik die namelijk in het andere script weghaal, en de $_POST er zo in gooi, zijn het evengoed kleine letters.

  1. function filter($text){
  2.  
  3. $text = preg_replace("(<img src=\"(.+?)\" border=\"0\">)", "\[img\]$1\[/img\]", $text);
  4. $text = preg_replace("(<b>(.+?)</b>)", "\[b\]$1\[/b\]", $text);
  5. $text = preg_replace("(<u>(.+?)</u>)", "\[u\]$1\[/u\]", $text);
  6. $text = preg_replace("(<i>(.+?)</i>)", "\[i\]$1\[/i\]", $text);
  7. $text = preg_replace("(<strike>(.+?)</strike>)", "\[s\]$1\[/s\]", $text);
  8. $text = preg_replace("(<div align=\"left\">(.+?)</div>)", "\[left\]$1\[/left\]", $text);
  9. $text = preg_replace("(<div align=\"right\">(.+?)</div>)", "\[right\]$1\[/right\]", $text);
  10. $text = preg_replace("(<center>(.+?)</center>)", "\[center\]$1\[/center\]", $text);
  11. $text = eregi_replace("<font color=\"([^\\[]*)\">([^\\[]*)</font>","\\[color=\\1\\]\\2\\[/color\\]",$text);
  12. $text = eregi_replace("<font size=\"([^\\[]*)\">([^\\[]*)</font>","\\[size=\\1\\]\\2\\[/size\\]",$text);
  13. $text = eregi_replace("<a href=\"mailto:([^\\[]*)\">([^\\[]*)</a>","\\[email=\\1\\]\\2\\[/email\\]",$text);
  14. $text = eregi_replace("<a href=\"([^\\[]*)\" target=\"_blank\">([^\\[]*)</a>","\\[url=\\1\\]\\2\\[/url\\]",$text);
  15. $text = preg_replace("(<marquee>(.+?)</marquee>)","\[move\]$1\[/move\]", $text);
  16.  
  17. $text = strip_tags($text);
  18. $text = htmlentities($text, ENT_QUOTES);
  19.  
  20. $text = addslashes($text);
  21. return $text;
  22. }
Offline ArieMedia - 17/09/2009 14:12
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
En voordat je iets doet met de post, kan je een var_dump geven (of print_r).
Dus zegmaar
  1. <?php
  2. if(isset($_POST['zend'])) {
  3. print_r($_POST);
  4. } else //....
  5. ?>

En wil je dat hier ook posten? 
Offline qubus - 17/09/2009 14:27
Avatar van qubus Lid @Arie2Zero

Dat geeft het volgende resultaat:
Array ( [tekst] => testen [pagina] => admin_toevoegen_cat [taal] => 1 [form_toevoegen_cat] => voeg toe )

Het woordje testen had ik met hoofdletters geschreven, hier zijn ze dus al klein... Ik snap er werkelijk niets meer van!
Offline ArieMedia - 17/09/2009 14:41
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
qubus schreef:
@Arie2Zero

Dat geeft het volgende resultaat:
Array ( [tekst] => testen [pagina] => admin_toevoegen_cat [taal] => 1 [form_toevoegen_cat] => voeg toe )

Het woordje testen had ik met hoofdletters geschreven, hier zijn ze dus al klein... Ik snap er werkelijk niets meer van!
Hmm dat is erg vreemd inderdaad, misschien dat het iets met server-instellingen te maken heeft OF het kan aan je browser liggen. Maar het ligt iniedergeval niet aan je script.
Offline qubus - 17/09/2009 14:48 (laatste wijziging 17/09/2009 15:00)
Avatar van qubus Lid Serverinstellingen heb ik al laten checken door de provider, dat is het ook niet. Browser kan ik nog proberen.

Dank voor het meedenken!

edit: Browser is het ook niet, op 2 computers meerdere browsers geprobeerd.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s