Dit is een topic in Community » Forum » Pro » Web ontwikkeling

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
}

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

Reageer op dit topic