Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sivurakenne rikkoutuu

mavijo [26.06.2008 17:04:00]

#

Ongelma on seuraavanlainen:

Minulla on index-sivu, johon liitetty header ja footer. Käyttäjän valinnan mukaan index-osion keskialueelle avautuu linkeistä eri sivuja - ja kaikki toimii, paitsi sivu jossa jäsen saa päivittää myymiään tuoteryhmiä.
Valittujen ryhmien tallennus menee kantaan ihan oikein (alussa kaikki tiedot on poistettava, koska muuten vanhat tiedot jäävät jäljelle ja päivittäminen ainoastaan lisää ryhmiä)

En saa millään toimimaan oikein sitä, että "Tallenna" -napin painamisen jälkeen käyttäjälle tulisi oikein näkyviin kuittaus siitä että tietojen päivittäminen on onnistunut. Index-sivun rakenne hajoaa jostain syystä täysin. Saattaa olla ihan pienestä kiinni, pitäisi tulostaa koodi paperille, että näkisi sen kokonaisuudessaan toisin kun tässä näytöllä (muste vaan on loppu tulostimesta).

Jonkun mielestä noi checkboxien kantaan viennit on ehkä tehty tyhmästi, mutta niiden pitää jokaisen mennä omalle riville, jotta tuoteryhmien tulostuminen menee oikein.
Näkeekö joku virheeni? (Kiitos etukäteen avusta!)

<?php
if(isset($_POST['button'])){
  $uid = $user['id'];
    $tulos = mysql_query("SELECT group_id FROM groups WHERE company_id = '$uid'", $lnk)
         or die("Virhe tuoteryhm&auml;haussa: ". mysql_error());
         while($tulosrivi = mysql_fetch_array($tulos)){
             $sql = mysql_query("DELETE FROM groups WHERE company_id = '$uid'", $lnk);
         }
   $company_id = $user['id'];
          if(empty($_POST['group1'])){}
      else   {
       $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group1']."')",$lnk);  }
          if(empty($_POST['group2'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group2']."')",$lnk);   }
          if(empty($_POST['group3'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group3']."')",$lnk);   }
          if(empty($_POST['group4'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group4']."')",$lnk);   }
          if(empty($_POST['group5'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group5']."')",$lnk);   }
          if(empty($_POST['group6'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group6']."')",$lnk);   }
          if(empty($_POST['group7'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group7']."')",$lnk);   }
          if(empty($_POST['group8'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group8']."')",$lnk);   }
          if(empty($_POST['group9'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group9']."')",$lnk);   }
          if(empty($_POST['group10'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group10']."')",$lnk);  }
          if(empty($_POST['group11'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group11']."')",$lnk);  }
          if(empty($_POST['group12'])){}
      else   {
      $sql = mysql_query("INSERT INTO {$tbl_groups} (company_id,group_id) VALUES ('".$company_id."','".$_POST['group12']."')",$lnk);  }
      //     if(!$sql || mysql_affected_rows($lnk) < 1)
      //        Open('location: failed.php');
             // include ("failed.php");
              //echo "Tuoteryhm&auml;tietoja ei tallennettu.<br />\n";
      //      else
      //        Open('location: ok.php');
             // include ("ok.php");
             //echo "Tuoteryhm&auml;tietojen tallentaminen onnistui.<br />";
}
?>
<?php
  if($user){
       include("update_company_product_information.html");
  }
  else{
  echo "Kirjaudu sis&auml;&auml;n.";
}
?>

LaNu [26.06.2008 22:44:50]

#

Se oleellinen osa tuosta koodilistauksestasi lienee tämä:

<?php
// pikkuisen muotoiltuna..

if(!$sql || mysql_affected_rows($lnk) < 1)
  // ilman aaltosulkuja if-ehto vaikuttaa vain ensimmäiseen kohtaan
  Open('location: failed.php');

// nämä suoritetaan ehdosta riippumatta
include ("failed.php");
echo "Tuoteryhm&auml;tietoja ei tallennettu.<br />\n";
else // tämä aiheuttanee virheen?
Open('location: ok.php');
include ("ok.php");
echo "Tuoteryhm&auml;tietojen tallentaminen onnistui.<br />";
?>

Koko tämä koodihan on pois komentoituna sinulla, joten sekin voi hiukan häiritä toimintaa.. :-)

Edit: Mikä tuo Open-funktio muuten on? Koitin hakea php:n dokumentaatiosta, mutta ei sieltä tuon nimistä näytä löytyvän.

Edit2: Jos Open-funktiota ei ole määriteltynä, niin skripti katkeaa virheilmoitukseen ja jos se on html-muotoinen se voi joskus "kadota" - selain jättää sen piiloon. Html:n seasta se on yleensä suht helppo etsiä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta