Script voor uploaden werkt niet
swig op 20 november 2011 #
Hallo iedereen,
Ik heb hier een php-script dat wat tekst zou moeten verwerken en buiten dat nog 4 afbeeldingen.
Mijn probleem is dat m'n php-script op enkele na alle mogelijke errors teruggeeft.
Hier is de verwerking van de mogelijke fouten
Variabelen als $maximgheigt etc worden al eerder in de code gedeclareerd.
//Mogelijke fouten weergeven
if(empty($_POST['title'])) {
$fouten[] = 'Er is geen titel van de app opgegeven.'; }
if(empty($_POST['seller'])) {
$fouten[] = 'Er is geen seller opgegeven.'; }
if(empty($_POST['copyright'])) {
$fouten[] = 'Er is geen copyright opgegeven.'; }
if(empty($_POST['price'])) {
$fouten[] = 'Er is geen prijs opgegeven.'; }
if(empty($_POST['genre'])) {
$fouten[] = 'Er is geen genre opgegeven.'; }
if(empty($_POST['review'])) {
$fouten[] = 'Er is geen review ingegeven.' ; }
if(!preg_match('/^[0-9]*\.[0-9]{2}$/', $_POST['price'])) {
$fouten[] = 'De ingegeven prijs is geen geldige prijs.' ; }
if(empty($_POST['device'])) {
$fouten[] = 'Er is geen apparaat ingegeven.' ; }
if(geregistreerd($_POST['title'], 'titel')) { //zoekopdracht, veld(kolom)
$fouten[] = 'De app is reeds geregistreerd.'; }
//Check de errors
if(empty($_FILES["foto1"])) {
$fouten[] = 'Er is geen foto ingegeven bij foto 1.';}
if(empty($_FILES['foto2'])) {
$fouten[] = 'Er is geen foto ingegeven bij foto 2.';}
if(empty($_FILES['foto3'])) {
$fouten[] = 'Er is geen foto ingegeven bij foto 3.';}
if(empty($_FILES['logo'])) {
$fouten[] = 'Er is geen foto ingegeven als logo.' ;}</p><p> //Controleren of alle foto's zijn ingegeven en dan size controleren.
if(!empty($_FILES['foto1']) && !empty($_FILES['foto2']) && !empty($_FILES['foto3']) && !empty($_FILES['logo'])) {
$fotosize1 = getimagesize($_FILES['foto1']["tmp_name"]);
$fotosize2 = getimagesize($_FILES['foto2']["tmp_name"]);
$fotosize3 = getimagesize($_FILES['foto3']["tmp_name"]);
$logosize = getimagesize($_FILES['logo']["tmp_name"]);
}</p><p> //Controle van de afmetingen van de afbeeldingen
//Logo nakijken
if($logosize[0]/$logosize[1]!=1 || $logosize[0] < 100 || $logosize[1] < 100 ) {
$fouten[] = 'Breedte of lengte van het logo klopt niet.';
}</p><p> //Afbeelding 1
if($fotosize1[0] != $maximgwidth || $fotosize1[1] != $maximgheight) {
$fouten[] = 'Breedte of lengte van afbeelding 1 klopt niet.';
}elseif($fotosize1[0] != $maximgwidth && $fotosize1[1] != $maximgheight){
$fouten[] = 'Breedte en lengte van afbeelding 1 kloppen niet.';
}else{
}</p><p> //Afbeelding 2
if($fotosize2[0] != $maximgwidth || $fotosize2[1] != $maximgheight) {
$fouten[] = 'Breedte of lengte van afbeelding 2 klopt niet.';
}elseif($fotosize2[0] != $maximgwidth && $fotosize2[1] != $maximgheight){
$fouten[] = 'Breedte en lengte van afbeelding 2 kloppen niet.';
}else{
}</p><p> //Afbeelding 3
if($fotosize3[0] != $maximgwidth || $fotosize3[1] != $maximgheight) {
$fouten[] = 'Breedte of lengte van afbeelding 3 klopt niet.';
}elseif($fotosize3[0] != $maximgwidth && $fotosize3[1] != $maximgheight){
$fouten[] = 'Breedte en lengte van afbeelding 3 kloppen niet.';
}else{
}</p><p> //Tekstcontrole bij afbeeldingen
if(empty($tekst1)) {
$fouten[] = 'Er is geen tekst ingegeven voor de eerste foto.' ; }
if(empty($tekst2)) {
$fouten[] = 'Er is geen tekst ingegeven voor de tweede foto.' ; }
if(empty($tekst3)) {
$fouten[] = 'Er is geen tekst ingegeven voor de derde foto.' ; }
if(empty($stand)) {
$fouten[] = 'Er is geen stand ingegeven voor de foto\'s.'; }
//Fouten tellen
if(count($fouten) > 0) {
...
MEEUW op 23 november 2011 #
Hoi, je moet toch wat specifieker zijn.
Maar als ik een beetje mag gokken :
[php]
if(empty($_POST['title'])) {
$fouten[] = 'Er is geen titel van de app opgegeven.'; }
[php]
Als dit 1 van diegene is die hij terug koppeld, dan moet je kijken of je invul velden wel goede id of naam hebben.
sturb op 23 november 2011 #
Ik zie vooral veel repetitie. En als ik het zelfde stukje tekst meer dan 1 keer moet typen dan jeuken mijn handen om er een for loop van te maken.
Scheelt je heel veel werk.
Al je empty checks kun je bijvoorbeeld zo oplossen:
$teChecken = array('title','seller','copyright',........);
$foutMessage = array('title'=> 'Er is geen titel opgegeven',........);
$fouten = array();
foreach($teChecken AS $check){
if(empty($_POST[$check]){
$fout[] = $foutMessage[$check];
}
}
//.
if(count($fout) >0){
echo "Er zijn fouten gevonden: ";
echo implode(', ',$fout)
}else{
//doe je ding
}
Advertentie
Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.
Inloggen
Over dit topic
Gestart op 20 november 2011 door swig
Laatste reactie door sturb