Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ei muutosta tietokantaan

Short Php [27.01.2008 21:12:23]

#

Elikkä allaoleva koodi ei muuta kummankaan taulukon aktivoimisstatusta trueksi vaikka pitäisi. Ei tule mitään phpongelmaa ja sivulla lukee vain "Aktivointi onnistui. Nyt voit kirjautua sisään."

<?php
if (isset($_GET["code"])) {
//muodostetaan yhteys tietokantapalvelimeen
$yhteys = mysql_connect("localhost", "kayttajatunnus", "salasana") or die("Yhdistäminen ei onnistunut!");

mysql_select_db("byqnskxk_tietokantani", $yhteys) or die("Tietokantaa ei löytynyt!");

$kysely = "SELECT * FROM aktivointi";
$haku = mysql_query($kysely, $yhteys) or die("Virhe kyselyssä!");
$kysely2 = "SELECT * FROM jasenet";
$haku2 = mysql_query($kysely2, $yhteys) or die("Virhe kyselyssä!");

for ($i = 0; $i < mysql_num_rows($haku); $i++) {
   //haetaan nimi, hinta ja määrä muuttujiin
   $aktivcode = mysql_result($haku, $i, "koodi");
   $aktived = mysql_result($haku, $i, "aktivoitu");
for ($u = 0; $u < mysql_num_rows($haku2); $u++) {
   $nimi = mysql_result($haku2, $u, "nimi");
   $sahkoposti = mysql_result($haku2, $u, "sahkoposti");
   $asukkaita = mysql_result($haku2, $u, "asukkaita");
   $kylat = mysql_result($haku2, $u, "kylat");
   $salasana = mysql_result($haku2, $u, "salasana");
}
if ($aktivcode == $_GET["code"] && $aktived == "false") {
$kysely3 = "UPDATE `byqnskxk_tietokantani`.`jasenet` SET `sahkoposti` = '" . $sahkoposti . "' WHERE CONVERT( `jasenet`.`nimi` USING utf8 ) = '" . $nimi . "' AND CONVERT( `jasenet`.`salasana` USING utf8 ) = '" . $salasana . "' AND CONVERT( `jasenet`.`asukkaita` USING utf8 ) = '" . $asukkaita . "' AND CONVERT( `jasenet`.`kylat` USING utf8 ) = '" . $kylat . "' AND CONVERT( `jasenet`.`sahkoposti` USING utf8 ) = '" . $sahkoposti . "' AND CONVERT( `jasenet`.`aktivointi` USING utf8 ) = 'true';";
$haku3 = mysql_query($kysely3, $yhteys) or die("Virhe kyselyssä!");
echo "Aktivointi onnistui. Nyt voit kirjautua sisään.";
}
}

//suljetaan yhteys
mysql_close($yhteys);
}
?>

TsaTsaTsaa [27.01.2008 21:22:59]

#

Niin missä kohtaa tuossa pitäisi aktivointi tapahtua? Eihän update-kyselyssä päivitetä kuin sähköposti.

P.S. Melko sekavaa luettavaa ilman sisennyksiä.

Short Php [27.01.2008 21:43:33]

#

Suoraan jostain phpmyadminista kopioitu. Sisennyksiä jaksa.. Mutta tutkippa tarkemmin; tuo kysely3 ei minun scriptien mukaan pääty tuohon.

E: Otan myös ideoita vastaan miten voisi helpommin/toimivasti saada sen muuttamaan aktivointistatusta

TsaTsaTsaa [27.01.2008 22:35:20]

#

$kysely3 =
"UPDATE `byqnskxk_tietokantani`.`jasenet`
SET `sahkoposti` = '" . $sahkoposti . "'
WHERE CONVERT( `jasenet`.`nimi` USING utf8 ) = '" . $nimi . "' AND
CONVERT( `jasenet`.`salasana` USING utf8 ) = '" . $salasana . "' AND
CONVERT( `jasenet`.`asukkaita` USING utf8 ) = '" . $asukkaita . "' AND
CONVERT( `jasenet`.`kylat` USING utf8 ) = '" . $kylat . "' AND
CONVERT( `jasenet`.`sahkoposti` USING utf8 ) = '" . $sahkoposti . "' AND
CONVERT( `jasenet`.`aktivointi` USING utf8 ) = 'true';";

Ei tuo mitään muuta muuta kuin sähköpostia.

Aktivointi seuraavantapaisella kyselyllä:

$kysely = "UPDATE jasenet
SET aktivointi = 'true'
WHERE nimi = $nimi AND
      salasana = $salasana";

Ja vastaavasti myös aktivointi-tauluun.

Short Php [28.01.2008 16:42:42]

#

Kiitti yritän tuota.

Vastaus

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

Tietoa sivustosta