Spatie probleem in contactformulier
Crain - 09/05/2010 14:28
Nieuw lid
Beste Leden,
Ik heb een contactformulier gemaakt, er is een klein probleem en dat is dat het formulier niet verzonden kon worden:
echo "<input type=\"text\" name=\"".$naam."\" size=\"".$eigenschappen[2]."\" maxlength=\"".$eigenschappen[3]."\" value=\"".$eigenschappen[4]."\">";
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 en huisnummer. Toch werkt ie ook niet.
Dank.
13 antwoorden
Gesponsorde links
Kwarde - 09/05/2010 15:08
Nieuw lid
Kan je AUB het gehele script sturen?
BVD
Crain - 09/05/2010 15:10 (laatste wijziging 09/05/2010 15:26)
Nieuw lid
Plaatscode: 139328
vinTage schreef:
PLAATSCODE...
TotempaaltJ - 09/05/2010 15:30
PHP interesse
Wat staat er in $velden?
Crain - 09/05/2010 15:48 (laatste wijziging 09/05/2010 15:56)
Nieuw lid
Onder andere in een andere pagina: config_adres.php.
$velden = array(
"Adres en huisnr" => array("T", true, 40, 50, ""),
);
"Adres en huisnr" => array ( "T" , true , 40 , 50 , "" ) , ) ;
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.
TotempaaltJ - 09/05/2010 16:04
PHP interesse
Je kan het preg_replace'n met underscores ofzo.
Beter is een extra ding mee te geven voor name.
Crain - 09/05/2010 16:53
Nieuw lid
Wil je dus daarmee zeggen:
<?php
$zoekterm = "txtx;"; // txtx is om spatie van te maken.
$vervanging = " "; // :p
$zoeken_in = "txtx";
$nieuwe_tekst = str_replace($zoekterm,$vervanging,$zoeken_in);
echo $nieuwe_tekst;
?>
<?php
$zoekterm = "txtx;" ; // txtx is om spatie van te maken.
$vervanging = " " ; // :p
$zoeken_in = "txtx" ;
$nieuwe_tekst = str_replace ( $zoekterm , $vervanging , $zoeken_in ) ;
?>
Zoeits?
TotempaaltJ - 09/05/2010 17:02
PHP interesse
Wat zei ik ookalweer... Underscore!!
$zoekterm moet ' ' zijn
$vervanging moet '_' zijn
$zoeken_in moet je naam zijn.
Zjempel.
Crain - 09/05/2010 17:49 (laatste wijziging 09/05/2010 18:03)
Nieuw lid
<?php
$zoekterm = "";
$vervanging = "_";
$zoeken_in = "$naam";
?>
<?php
$zoekterm = "" ;
$vervanging = "_" ;
$zoeken_in = "$naam " ;
?>
Zoiets? Waar moet ik dan precies zetten? Ik heb hier niet zo veel ervaring mee...
Ik heb ook geprobeerd, het is niet gelukt:
$zoekterm = "_";
$vervanging = "<font color=\"#ffffff\">_</font>";
$zoeken_in = "Adres_en_huisnr";
$adres = str_replace($zoekterm,$vervanging,$zoeken_in);
$velden = array(
"$adres" => array("T", true, 40, 50, ""),
);
$zoekterm = "_" ;
$vervanging = "<font color=\" #ffffff\" >_</font>" ;
$zoeken_in = "Adres_en_huisnr" ;
$adres = str_replace ( $zoekterm , $vervanging , $zoeken_in ) ;
"$adres " => array ( "T" , true , 40 , 50 , "" ) , ) ;
TotempaaltJ - 09/05/2010 18:16 (laatste wijziging 09/05/2010 18:16)
PHP interesse
Ik bedoel dat, op het moment dat je de naam in name zet, je alle spaties door laagstreepjes vervangt!
Crain - 09/05/2010 18:25 (laatste wijziging 09/05/2010 18:28)
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?
<?
//Contact begin
$zoekterm = "_";
$vervanging = "<font color=\"#ffffff\">_</font>";
$zoeken_in = "Adres_en_huisnr";
$adres = str_replace($zoekterm,$vervanging,$zoeken_in);
$velden = array
(
"Aanhef" => array("O", verreist, array("De heer" => 1, "Mevrouw" => 2)),
"Voornaam" => array("T", true, 40, 50, ""),
"Achternaam" => array("T", true, 40, 50, ""),
"Klantnummer" => array("T", true, 40, 50, ""),
"Aanhef" => array("O", verreist, array("De heer" => 1, "Mevrouw" => 2)),
"Voornaam" => array("T", true, 40, 50, ""),
"Achternaam" => array("T", true, 40, 50, ""),
"$adres" => array("T", true, 40, 50, ""),
"Postcode" => array("T", true, 10, 10, ""),
"Plaatsnaam" => array("T", true, 40, 50, ""),
"Telefoonnummer" => array("T", true, 40, 50, ""),
"Emailadres" => array("T", true, 40, 50, "Uw email"),
"Opmerking" => array("A", false, 50, 10, "")
);
//Contact eind
?>
<?
//Contact begin
$zoekterm = "_" ;
$vervanging = "<font color=\" #ffffff\" >_</font>" ;
$zoeken_in = "Adres_en_huisnr" ;
$adres = str_replace ( $zoekterm , $vervanging , $zoeken_in ) ;
(
"Aanhef" => array ( "O" , verreist
, array ( "De heer" => 1 , "Mevrouw" => 2 ) ) ,
"Voornaam" => array ( "T" , true , 40 , 50 , "" ) ,
"Achternaam" => array ( "T" , true , 40 , 50 , "" ) ,
"Klantnummer" => array ( "T" , true , 40 , 50 , "" ) ,
"Aanhef" => array ( "O" , verreist
, array ( "De heer" => 1 , "Mevrouw" => 2 ) ) ,
"Voornaam" => array ( "T" , true , 40 , 50 , "" ) ,
"Achternaam" => array ( "T" , true , 40 , 50 , "" ) ,
"$adres " => array ( "T" , true , 40 , 50 , "" ) ,
"Postcode" => array ( "T" , true , 10 , 10 , "" ) ,
"Plaatsnaam" => array ( "T" , true , 40 , 50 , "" ) ,
"Telefoonnummer" => array ( "T" , true , 40 , 50 , "" ) ,
"Emailadres" => array ( "T" , true , 40 , 50 , "Uw email" ) ,
"Opmerking" => array ( "A" , false , 50 , 10 , "" )
) ;
//Contact eind
?>
TotempaaltJ - 09/05/2010 18:40
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.
Crain - 09/05/2010 19:13
Nieuw lid
foreach ($velden AS $naam => $eigenschappen)
{
$zoekterm = "_";
$vervanging = "<font color=\"#ffffff\">_</font>";
$zoeken_in = "".$naam."";
$wijzigen = str_replace($zoekterm,$vervanging,$zoeken_in);
$eigenschappen[1] ? $leeg = "<font color=\"#FF0000\">*</font>" : $leeg = "";
echo "<tr>";
echo "<td width=\"20%\" valign=\"top\">".$wijzigen.$leeg."</td>";
echo "<td width=\"80%\">";
if ($eigenschappen[0] == "T")
echo "<input type=\"text\" name=\"".$wijzigen."\" size=\"".$eigenschappen[2]."\" maxlength=\"".$eigenschappen[3]."\" value=\"".$eigenschappen[4]."\">";
if ($eigenschappen[0] == "A")
echo "<textarea name=\"".$wijzigen."\" cols=\"".$eigenschappen[2]."\" rows=\"".$eigenschappen[3]."\">".$eigenschappen[4]."</textarea>";
if ($eigenschappen[0] == "C")
if ($eigenschappen[3])
echo "<input type=\"checkbox\" name=\"".$wijzigen."\" value=\"".$eigenschappen[2]."\" checked>";
else
echo "<input type=\"checkbox\" name=\"".$wijzigen."\" value=\"".$eigenschappen[2]."\">";
if ($eigenschappen[0] == "O")
foreach($eigenschappen[2] AS $optie => $waarde)
echo "<input type=\"radio\" name=\"".$wijzigen."\" value=\"".$waarde."\"> ".$optie."<br>";
if ($eigenschappen[0] == "D")
{
echo "<select name=\"".$wijzigen."\">";
foreach($eigenschappen[2] AS $optie => $waarde)
echo "<option value=\"".$waarde."\">".$optie."</option>";
echo "</select>";
}
foreach ( $velden AS $naam => $eigenschappen )
{
$zoekterm = "_" ;
$vervanging = "<font color=\" #ffffff\" >_</font>" ;
$zoeken_in = "" . $naam . "" ;
$wijzigen = str_replace ( $zoekterm , $vervanging , $zoeken_in ) ;
$eigenschappen [ 1 ] ? $leeg = "<font color=\" #FF0000\" >*</font>" : $leeg = "" ;
echo "<td width=\" 20%\" valign=\" top\" >" . $wijzigen . $leeg . "</td>" ; echo "<td width=\" 80%\" >" ;
if ( $eigenschappen [ 0 ] == "T" )
echo "<input type=\" text\" name=\" " . $wijzigen . "\" size=\" " . $eigenschappen [ 2 ] . "\" maxlength=\" " . $eigenschappen [ 3 ] . "\" value=\" " . $eigenschappen [ 4 ] . "\" >" ;
if ( $eigenschappen [ 0 ] == "A" )
echo "<textarea name=\" " . $wijzigen . "\" cols=\" " . $eigenschappen [ 2 ] . "\" rows=\" " . $eigenschappen [ 3 ] . "\" >" . $eigenschappen [ 4 ] . "</textarea>" ;
if ( $eigenschappen [ 0 ] == "C" )
if ( $eigenschappen [ 3 ] )
echo "<input type=\" checkbox\" name=\" " . $wijzigen . "\" value=\" " . $eigenschappen [ 2 ] . "\" checked>" ; else
echo "<input type=\" checkbox\" name=\" " . $wijzigen . "\" value=\" " . $eigenschappen [ 2 ] . "\" >" ;
if ( $eigenschappen [ 0 ] == "O" )
foreach ( $eigenschappen [ 2 ] AS $optie => $waarde )
echo "<input type=\" radio\" name=\" " . $wijzigen . "\" value=\" " . $waarde . "\" > " . $optie . "<br>" ;
if ( $eigenschappen [ 0 ] == "D" )
{
echo "<select name=\" " . $wijzigen . "\" >" ; foreach ( $eigenschappen [ 2 ] AS $optie => $waarde )
echo "<option value=\" " . $waarde . "\" >" . $optie . "</option>" ; }
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 .