login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Spatie probleem in contactformulier

Offline Crain - 09/05/2010 14:28
Avatar van CrainNieuw lid Beste Leden,

Ik heb een contactformulier gemaakt, er is een klein probleem en dat is dat het formulier niet verzonden kon worden:

  1. echo "<input type=\"text\" name=\"".$naam."\" size=\"".$eigenschappen[2]."\" maxlength=\"".$eigenschappen[3]."\" value=\"".$eigenschappen[4]."\">";


Het probleem komt bij mij door $naam.

Ik heb een $naam als adres en huisnummer ingevuld. Dan moet de bezoekers het adres en huisnummer invullen.
Dan kan het formulier niet verzonden worden omdat 'adres en huisnummer' twee keer spatie in voorkomen.

Als ik alleen adres ipv adres en huisnummer invul, dan is hij goed verzonden.

Waar kan het aan liggen, hoe zorg ik ervoor dat de spatie wel wordt geaccepteerd bij $naam?

Ik heb geprobeerd:
adres&nbsp;en&nbsp;huisnummer. Toch werkt ie ook niet.

Dank.

13 antwoorden

Gesponsorde links
Offline Kwarde - 09/05/2010 15:08
Avatar van Kwarde Nieuw lid Kan je AUB het gehele script sturen?
BVD
Offline Crain - 09/05/2010 15:10 (laatste wijziging 09/05/2010 15:26)
Avatar van Crain Nieuw lid
Plaatscode: 139328


vinTage schreef:
PLAATSCODE...
Offline TotempaaltJ - 09/05/2010 15:30
Avatar van TotempaaltJ PHP interesse Wat staat er in $velden?
Offline Crain - 09/05/2010 15:48 (laatste wijziging 09/05/2010 15:56)
Avatar van Crain Nieuw lid Onder andere in een andere pagina: config_adres.php.

  1. $velden = array(
  2. "Adres en huisnr" => array("T", true, 40, 50, ""),
  3. );


zie voorbeeld:
klik hier

Je ziet dat er bij 'Adres en huisnummer' een spatie in zitten.
Als ik adres en huisnummer heb ingevuld bijvoorbeeld: Teststraat 12
En vervolgens op verzenden klikt, accepteert hij niet omdat er een spatie in zitten van Adres en huisnummer.

Als ik 'en huisnummer' weghaal, dus in dit geval staat er alleen 'Adres' op. En vervolgens voer ik Teststraat 12 in. Vervolgens op verzenden klik. Verzend hij het wel naar email.

Dus het heeft met de spatie te maken.
Offline TotempaaltJ - 09/05/2010 16:04
Avatar van TotempaaltJ PHP interesse Je kan het preg_replace'n met underscores ofzo.

Beter is een extra ding mee te geven voor name.
Offline ArieMedia - 09/05/2010 16:21
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
key-values met spaties werken sowieso niet lekker (weet niet hoe PHP hier mee omgaat trouwens). Maar ik zou het gewoon houden op een verkorte versie zonder spaties.
Offline Crain - 09/05/2010 16:53
Avatar van Crain Nieuw lid Wil je dus daarmee zeggen:
  1. <?php
  2. $zoekterm = "txtx;"; // txtx is om spatie van te maken.
  3. $vervanging = "&nbsp;"; // :p
  4. $zoeken_in = "txtx";
  5.  
  6. $nieuwe_tekst = str_replace($zoekterm,$vervanging,$zoeken_in);
  7.  
  8. echo $nieuwe_tekst;
  9. ?>


Zoeits?
Offline TotempaaltJ - 09/05/2010 17:02
Avatar van TotempaaltJ PHP interesse Wat zei ik ookalweer... Underscore!!

$zoekterm moet ' ' zijn
$vervanging moet '_' zijn
$zoeken_in moet je naam zijn.
Zjempel.
Offline Crain - 09/05/2010 17:49 (laatste wijziging 09/05/2010 18:03)
Avatar van Crain Nieuw lid
  1. <?php
  2. $zoekterm = "";
  3. $vervanging = "_";
  4. $zoeken_in = "$naam";
  5.  
  6. ?>


Zoiets? Waar moet ik dan precies zetten? Ik heb hier niet zo veel ervaring mee...

Ik heb ook geprobeerd, het is niet gelukt:

  1. $zoekterm = "_";
  2. $vervanging = "<font color=\"#ffffff\">_</font>";
  3. $zoeken_in = "Adres_en_huisnr";
  4.  
  5. $adres = str_replace($zoekterm,$vervanging,$zoeken_in);
  6.  
  7. $velden = array(
  8. "$adres" => array("T", true, 40, 50, ""),
  9. );

Offline TotempaaltJ - 09/05/2010 18:16 (laatste wijziging 09/05/2010 18:16)
Avatar van TotempaaltJ PHP interesse Ik bedoel dat, op het moment dat je de naam in name zet, je alle spaties door laagstreepjes vervangt!
Offline Crain - 09/05/2010 18:25 (laatste wijziging 09/05/2010 18:28)
Avatar van Crain Nieuw lid Beste Totempaaltj,

Ik heb het geprobeerd, dan krijg ik: zie screenshot:

klik hier

Het is dus bijna goed, maar naast het balkje loopt de html code nog iets door?

  1. <?
  2. //Contact begin
  3. $zoekterm = "_";
  4. $vervanging = "<font color=\"#ffffff\">_</font>";
  5. $zoeken_in = "Adres_en_huisnr";
  6.  
  7. $adres = str_replace($zoekterm,$vervanging,$zoeken_in);
  8.  
  9. $velden = array
  10. (
  11.  
  12. "Aanhef" => array("O", verreist, array("De heer" => 1, "Mevrouw" => 2)),
  13.  
  14. "Voornaam" => array("T", true, 40, 50, ""),
  15.  
  16. "Achternaam" => array("T", true, 40, 50, ""),
  17.  
  18. "Klantnummer" => array("T", true, 40, 50, ""),
  19.  
  20. "Aanhef" => array("O", verreist, array("De heer" => 1, "Mevrouw" => 2)),
  21.  
  22. "Voornaam" => array("T", true, 40, 50, ""),
  23.  
  24. "Achternaam" => array("T", true, 40, 50, ""),
  25.  
  26. "$adres" => array("T", true, 40, 50, ""),
  27.  
  28. "Postcode" => array("T", true, 10, 10, ""),
  29.  
  30. "Plaatsnaam" => array("T", true, 40, 50, ""),
  31.  
  32. "Telefoonnummer" => array("T", true, 40, 50, ""),
  33.  
  34. "Emailadres" => array("T", true, 40, 50, "Uw email"),
  35.  
  36. "Opmerking" => array("A", false, 50, 10, "")
  37.  
  38. );
  39. //Contact eind
  40. ?>
Offline TotempaaltJ - 09/05/2010 18:40
Avatar van TotempaaltJ PHP interesse Niet daar! Weer fout!

In je script, ergens in die foreach ($velden AS $naam => $eigenschappen). Daar moet je dat op $naam uitvoeren, zodat elke spatie in een underscore wordt veranderd, maar opgeslagen in een aparte variabele, die je dan in name="" zet.
Offline Crain - 09/05/2010 19:13
Avatar van Crain Nieuw lid
  1. foreach ($velden AS $naam => $eigenschappen)
  2. {
  3. $zoekterm = "_";
  4. $vervanging = "<font color=\"#ffffff\">_</font>";
  5. $zoeken_in = "".$naam."";
  6. $wijzigen = str_replace($zoekterm,$vervanging,$zoeken_in);
  7.  
  8. $eigenschappen[1] ? $leeg = "<font color=\"#FF0000\">*</font>" : $leeg = "";
  9.  
  10. echo "<tr>";
  11. echo "<td width=\"20%\" valign=\"top\">".$wijzigen.$leeg."</td>";
  12. echo "<td width=\"80%\">";
  13.  
  14. if ($eigenschappen[0] == "T")
  15. echo "<input type=\"text\" name=\"".$wijzigen."\" size=\"".$eigenschappen[2]."\" maxlength=\"".$eigenschappen[3]."\" value=\"".$eigenschappen[4]."\">";
  16.  
  17. if ($eigenschappen[0] == "A")
  18. echo "<textarea name=\"".$wijzigen."\" cols=\"".$eigenschappen[2]."\" rows=\"".$eigenschappen[3]."\">".$eigenschappen[4]."</textarea>";
  19.  
  20. if ($eigenschappen[0] == "C")
  21. if ($eigenschappen[3])
  22. echo "<input type=\"checkbox\" name=\"".$wijzigen."\" value=\"".$eigenschappen[2]."\" checked>";
  23. else
  24. echo "<input type=\"checkbox\" name=\"".$wijzigen."\" value=\"".$eigenschappen[2]."\">";
  25.  
  26. if ($eigenschappen[0] == "O")
  27. foreach($eigenschappen[2] AS $optie => $waarde)
  28. echo "<input type=\"radio\" name=\"".$wijzigen."\" value=\"".$waarde."\"> ".$optie."<br>";
  29.  
  30. if ($eigenschappen[0] == "D")
  31. {
  32. echo "<select name=\"".$wijzigen."\">";
  33. foreach($eigenschappen[2] AS $optie => $waarde)
  34. echo "<option value=\"".$waarde."\">".$optie."</option>";
  35. echo "</select>";
  36. }


Beste TotempaaltJ,

Ik heb allen $naam veranderd in $wijzigen. Het resultaat is weer niet goed.

Zo kom ik ook uit:
Klik hier
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.261s