Hallo,

Ik heb een reserveringsformulier op mijn site die het tot voor kort prima deed. Recentelijk krijg ik echter de volgende foutmelding te zien wanneer je het formulier wil versturen:

Warning: stripslashes() expects parameter 1 to be string, array given in ............./form.php on line 56

Warning: Cannot modify header information - headers already sent by (output started at ) in ...........form.php on line 68

De betreffende regels heb ik hieronder geplaatst.

for ($k=0;$k<count($varkeys);$k++){
$var = $varkeys[$k];
$val = stripslashes($_POST[$var]);
if ($var!="compulsory" && (strtolower($var)!="submit" && strtolower($var)!="reset")){
$formdata .= $var.": ".$val."\n";
$message = str_replace("%$var%",$val,$message);
}
}



Kan iemand mij vertellen wat er misgaat en hoe ik dit zou kunnen oplossen. Het fromulier wordt overigens dus wel gewoon verstuurd. Ik ben inmiddels begonnen met me te verdiepen in PHP maar ik ben bang dat het nog even duurt voor ik zover ben dat ik dit probleem zelf kan oplossen....

Alvast bedankt voor de moeite.

Arjan
Wss is er door iemand foutmelding aangezet in php.ini.
Op zich niet zo erg kun je gelijk die fouten oplosssen.
De eerste foutmelding wordt denk ik veroorzaakt doordat ergens in het formulier velden staan die een array als naam hebben.
regel 68 heb je volgens mij nog niet gepost
$_POST[$var] is een array en geen string.
Jacco Brandt op 17/10/2011 16:02:03

$_POST[$var] is een array en geen string.


Kan ik deze wijzigen in een string zodat het werkt? Zo ja, hoe?
laat even zien hoe je formulier is opgebouwd.
Je kunt wel dit proberen:
[code]<?php
strip_slashes(&$array);

function strip_slashes(&$array)
{

foreach ($array as &$value) {

if (is_array($value)) {

strip_slashes(&$value);

} else {

$value = stripslashes($value);

}

}

Reageren