Hello Tom,
beim ersten Script von dir, 29. Mai 2009, 18:11 Uhr, gibt Error Reporting folgende Warnmeldung aus: Warning: Call-time pass-by-reference has been deprecated in ……
Da die Webseite auf keinen eigenen Server liegt sondern bei Strato (verwendete PHP Version 5.2.9) gibt es hier wohl Probleme mit der ausgeschalteten allow_call_time_pass_reference!
Im Übrigen komme ich mit dem Script nicht zurecht da es (für mich) sehr unübersichtlich wirkt. Halte mich bitte nicht für Blöd aber ich muss es irgendwie nachvollziehen können wie alles zusammenläuft, wenn auch mehr Code dafür gebraucht wird.
Mit diesem Code hätte ich weniger Probleme:
Pflichtarray vergleichen mit POST Übergabe:
$_expected['postlistepflicht']=array('vorname',
'nachname',
'strasse',
'hausnummer',
'plz',
'ort',
'land',
'telefon',
'fax',
'email',
'email-bestaetigung',
'lala',0,1,2,3,4,5,6,7,8,9,10,
'betreff',
'nachricht');
$_expected['allposts']=array_keys($_POST);
foreach($_POST as $elementpost)
{
if (is_array($elementpost))
$_expected['allposts']=array_merge($_expected['allposts'],array_keys($elementpost));
}
$_expectedDif['postlistepflicht']=array_diff($_expected['allposts'],$_expected['postlistepflicht']);
$_expectedDif['allposts']=array_diff($_expected['postlistepflicht'],$_expected['allposts']);
if (count($_expectedDif['postlistepflicht'])>0 OR count($_expectedDif['allposts'])>0)
{
echo "1 stimmt nicht";
print_r($_expectedDif['postlistepflicht']);
}
else
{
echo "1 stimmt";
}
Das funktioniert schon mal einwandfrei, sobald aber eine Checkbox angeklickt wurde dann gibt er natürlich false aus.
So wie ich dich verstanden habe muss ich jetzt ein weiteres Array (Ergänzungsarray) erstellen. Ich packe diese mal in die erste if count Ausgabe echo "1 stimmt nicht";
………
if (count($_expectedDif['postlistepflicht'])>0 OR count($_expectedDif['allposts'])>0)
{
echo "1 stimmt nicht";
print_r($_expectedDif['postlistepflicht']);
$_expected['postlisteergaenzung']=array(‘PHPSESSID’,
'checkboxeins',
'checkboxzwei',
'checkboxdrei',
'checkboxvier',
'radiobuttoneins');
}
else
{
echo "1 stimmt";
}
In der Ausgabe print_r($_expectedDif['postlistepflicht'] steht ja drin was mit dem POST Array nicht übereinstimmt. Der oder die ausgewählten Checkboxen sollen jetzt im Ergänzungsarray geprüft werden ob diese verfügbar sind.
Nur weiß ich nicht wie ich das anstellen soll!
Wäre nett wenn du mir Schritt für Schritt helfen könntest.
Danke und Grüße,
Runtop