Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP5: lomakkeen käsittely

Sivun loppuun

töheltäjä [07.02.2008 17:13:55]

#

Täysin kädetön tekiä. Olen rakentamassa omia sivustojani ja nyt olen ajautunut tilanteeseen, jossa en saa toimimaan lomakkeen käsittelijää aivan kuin haluaisin. Eli tarkoitus olisi koodin toimia niin, että mikälä otsikko puuttuu niin palataan takaisin lomakkeeeseen, eikä niin mitä nyt tapahtuu eli avaa tyhjän sivun ja kaikki aikasemmin kirjoitettu teksti menetetään. Olisin todella tyytyväinen, jos joku voisi auttaa ihmistä hädässä.

tayttolomake.htm....

<html>
<head>
<title>Kirjoutus lomake</title>

</head>

<form action="laheta.php" method="post">


<body bgcolor=#2696B8>


<p>

<label for="nimi">Nimi: </label><br>

<input id="nimi" type="text" name="nimi" size="35">

</p>



<p>

<label for="otsikko">Otsikko: </label><br>

<input id="otsikko" type="text" name="otsikko" size="35">

</p>



<p>
<label for="kirjoitukset">Tähän oma kirjoituksesi:</label><br>

<textarea id="kirjoitukset" name="kirjoitukset" cols="80" rows="70"></textarea>

</p>


<p><input type="submit" name="nappi" value="Lähetä"><br>

KIITOKSIA

</p>
</body>

</form>
</html>

laheta.php..

<?php

if (!isset($_POST['nappi'])) {

} else {
   $tiedosto = fopen("viestit.txt", "a");
   $nimi = $_POST['nimi'];
   $otsikko = $_POST['otsikko'];
   $kirjoitukset = $_POST['kirjoitukset'];


   $kirjoitukset = stripslashes($kirjoitukset);
   $kirjoitukset = htmlspecialchars($kirjoitukset);
   $kirjoitukset = str_replace("\n", "<br>", $kirjoitukset);

   $aika = time();

   $rivi = "$nimi|$aika|$otsikko|$kirjoitukset\n";

   fwrite($tiedosto, $rivi);

   close($tiedosto);

   header("Location: kuittaus.htm");
}
?>

Olen kyrrä yrittäny etsiä apua ja kokeillu kaikenlaisia pätkiä mut en vaan ole onnistunut.

(Mod. huom. Kooditageja saa käyttää myös HTML:ssä. Korostuksia säästeliäästi, eivät ne viestin arvoa määrällään lisää.)

Resiina [07.02.2008 17:20:48]

#

Ensimmäisenä pisti silmään seuraava rivi laheta.php:ssa:

close($tiedosto);

Tuonhan pitäisi olla fclose eikä pelkkä close.

töheltäjä [07.02.2008 17:32:14]

#

Joo tuo oli siellä koodissa kyllä. Ongelma on se haluasin tuohon semmosen toiminnan, että mikäli otsikkoa ei ole täytetty ja lähetetään palvelimelle, palauttaisi takaisin lomakeelle jossa mukana jo kirjoitetut teksti ja mahdolliseti iloitus otsikko pakollinen.

kasetti [09.02.2008 11:54:52]

#

Helpointa olisi varmaan laittaa html-elementit ja php-koodi samaan tiedostoon ja tarkistaan onko vaadittavat kentät syötetty?

Tuolla on hieman vastaava esimerkki (karvalakkiversio):
http://kasetti.info/koodivinkit.php?kansio=3&koodi=13

töheltäjä [09.02.2008 20:59:46]

#

sain toimimaan vaan osittain eli nimee ei hävitä mikäli otsikkoa ei ole täytetty, mutta kirjoitukset kyllä katoaa. En tuota koodia suoraan halua käyttää koska en halua vieraskirja tyyppiseksi.

<?php
//otetaan lähetetty nimi muuttujaan ja poistetaan hipsut jos pillkuja on käytetty
$nimi = strip_tags($_POST["nimi"]);

$otsikko = strip_tags($_POST["otsikko"]);

// poistetaan mahdolliset html tagit mutta sallitaan boldi
$kirjoitukset = strip_tags($_POST["kirjoitukset"], '<b>');

//muutetaan entterin painallukset html <br> tageiksi
$kirjoitukset =  str_replace("\r\n", "<br>", $kirjoitukset);

//asetetaan päivämäärä esim. 12/6 2005 12:44 kenon voi vaihtaa esim kaksoispisteeseen
$nyt = date("d/m Y G:i");

$ok = $_POST["kaikki"];

if ($ok)

{
        if (!$otsikko) //jos ei otsikkoa
                {
                $ei_otsikkoa = true;
                $ok = false;
                }

	if (!$nimi)
                {
                $nimi = "anonyymi";
                }


 if ($ok)
 {


   $tiedosto = fopen("viestit.txt", "a");
   $nimi = $_POST['nimi'];
   $kirjoitukset = $_POST['kirjoitukset'];
   $kirjoitukset = stripslashes($kirjoitukset);
   $kirjoitukset = htmlspecialchars($kirjoitukset);
   $kirjoitukset = str_replace("\n", "<br>", $kirjoitukset);
   $otsikko = $_POST['otsikko'];
   $nyt = date("d/m Y G:i");

   $rivi = "$nimi|$nyt|$otsikko|$kirjoitukset\n";

   fwrite($tiedosto, $rivi);

   fclose($tiedosto);

   header("Location: kuittaus.htm");
exit;
 }
}

if (!$ok)
{
?>

<html>

<form action="tayttolomake.php" method="POST">
<input type="hidden" name="kaikki" value="ok">

<body bgcolor=#2696B8>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<p>

Nimi: <br>

<input type="text" name="nimi" size="35" value="<? echo stripslashes($nimi); ?>">

</p>



<p>

Otsikko: <br>

<input type="text" name="otsikko" size="35" value="<? echo stripslashes($otsikko); ?>">

</p>



<p>
Tähän oma kirjoituksesi:<br>

<textarea type="text" name="kirjoitukset" cols="80" rows="70" value="<? echo stripslashes($viesti); ?>"></textarea>

</p>


<p><input type="submit" name="nappi" value="Lähetä"><br>

KIITOKSIA

</p>
</body>

</form>
</html>
<?

        if ($ei_otsikkoa) //jos viestikenttä on tyhjä niin herjataan
        {
        echo " otsikko puuttuu!<br>";
        }

}
?>

Eli jos otsikkoa ei ole niin pyydetään sitä hävittämättä muuta. Tietysti kirjoituskentääkään ei voi tyhjänä lähettää.
Eikä liian tiheään lähtystä, mutta nuo ei niin tärkeitä koska lomake on salasanan takana.

kasetti [10.02.2008 07:27:03]

#

olet muuttanut tuossa esimerkissä käytetyn $viesti muuttujaksi $kirjoitukset ja silti tuota $viesti muuttujaa käytetään. esim kohdassa:

<textarea type="text" name="kirjoitukset" cols="80" rows="70" value="<? echo stripslashes($viesti); ?>"></textarea>

Laita kirjoituksille oma tarkistus:

if (!$kirjoitus) //jos ei kirjoitusta
{
$ei_kirjoitusta = true;
$ok = false;
}

töheltäjä [10.02.2008 22:02:37]

#

Kyllä, eli ei saa toimimaan tuollatavalla mitä olen ajatellut. Tuohon ois tietysti asiallinen lisä. Meinaa, että tallentas txt-tiedostoon jokaisen kirjoituksen erikseen sen taikia että voisin sitten lisätä linkeillä sivuille ne kirjoitukset. Lajittelun olen ajatellu tehdä tuon otsikon mukaan joten linkissä lukisi se otsikko. Tiedän että mahdollista itselleni vaan vaikuttaa olevan ylivoimaista.

Vasta_alkaja [11.02.2008 08:30:27]

#

Kokeile esim tuolla tapaa.

$ilmoitus = '';

if($nimi == '')
{
  $nimi .= "Nimi on tyhjä<br />\n";
}

if($ilmoitus == '')
{
  $ilmoitus .= "Otsikko on tyhjä<br />\n";
}

echo '<p style="color:red; background:black; width:50%; border:1px solid black;">', $ilmoitus ,'</p>;

Edit : Joo, ja korjaa tuo $viesti kohta

Vasta_alkaja [11.02.2008 09:45:05]

#

Uusiksi, kun oli jo kolme virhettä saanut nuin pieneen tilaan. :D

<?php
$ilmoitus = "";

if($nimi == '')
{
  $ilmoitus .= "Nimi on tyhjä<br />\n";
}

if($otsikko == '')
{
  $ilmoitus .= "Otsikko on tyhjä<br />\n";
}

echo '<p style="color:red; background:black; width:50%; border:1px solid black;">', $ilmoitus ,'</p>';
?>

töheltäjä [11.02.2008 18:41:34]

#

Ei hän näitä osaa sitten pätkääkään näköjään. Eli laittaisin

if (!isset($_POST['nappi'])) {

ja tuon perään tuon ilmoitus osion. Ja samalla pois kokonaan tuo ok osio. Ilmoitus jutun perään else ja siinä tuo tallenusjuttu. Ei meinaa toiminu kun kokeilin. On toisiaan onnetonta tää meikäläisen yrittäminen ei voi muuta sanoo.

Vasta_alkaja [12.02.2008 08:43:47]

#

<?php

// Tarkistetaan pitääkö lomake tarksitaa
$SivunTarkistus = empty($_REQUEST['tarkistus']) ? 'ei' : 'kylla';

//otetaan lähetetty nimi muuttujaan ja poistetaan hipsut jos pillkuja on käytetty
$nimi = strip_tags($_POST["nimi"]);

$otsikko = strip_tags($_POST["otsikko"]);

// poistetaan mahdolliset html tagit mutta sallitaan boldi
$kirjoitukset = strip_tags($_POST["kirjoitukset"], '<b>');

//muutetaan entterin painallukset html <br> tageiksi
$lopullinen =  str_replace("\r\n", "<br>", $kirjoitukset);

//asetetaan päivämäärä esim. 12/6 2005 12:44 kenon voi vaihtaa esim kaksoispisteeseen
$nyt = date("d/m Y G:i");

$ilmoitus = "";

// Jos sivun tarkistus on kyylä suoritetaan se
if($SivunTarkistus == 'kylla')
{

	if($nimi == '')
	{
	  $ilmoitus .= "Nimi kenttä on täytettävä<br />\n";
	}

	if($otsikko == '')
	{
	  $ilmoitus .= "Otsikko kenttä on täytettävä<br />\n";
	}

	if($kirjoitukset == '')
	{
	  $ilmoitus .= "Viesti on jätettävä";
	}
}

// Jos kentät ei ole tyhjiä, suoritetaan tämä
if(!empty($nimi) && !empty($otsikko) && !empty($kirjoitukset))
{
	$tiedosto = fopen("viestit.txt", "a");
	$nimi;
	$lopullinen;
	$otsikko;
	$nyt = date("d/m Y G:i");

	$rivi = "$nimi|$nyt|$otsikko|$lopullinen\n";

	fwrite($tiedosto, $rivi);

	fclose($tiedosto);

	header("Location: kuittaus.htm");
	exit;
}
?>

<html>
<head>
<style type="text/css">
body{
	background:#2696B8;
}
.ilmoitus{
	width:50%;
	background:black;
	color:red;
	padding:5px;
}
</style>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
</head>
<title> Lomake juttu </title>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<input type="hidden" name="tarkistus" value="kylla">

<p>Nimi: <br><input type="text" name="nimi" size="35" value="<? echo stripslashes($nimi); ?>"></p>
<p>Otsikko: <br><input type="text" name="otsikko" size="35" value="<? echo stripslashes($otsikko); ?>"></p>
<p>Tähän oma kirjoituksesi:<br>
<textarea type="text" name="kirjoitukset" cols="80" rows="20" value="<? echo stripslashes($viesti); ?>"></textarea></p>
<p><input type="submit" name="nappi" value="Lähetä"><br></p>

<!-- Laitetaan tänne näkymään mahdollinen virheilmoitus -->
<p class="ilmoitus"><?php echo $ilmoitus; ?></p>
</body>
</form>
</html>

töheltäjä [12.02.2008 18:03:17]

#

Ei ole tuokaan vielä toimiva. Hävittää edelleen jo kirjoitetun tekstin. Eli mitä tuohon pitäisi laittaa , että kun tarkistaa sitä otsikkoa ja sitä ei ole annettu niin pyytää vaan laittamaan sen eikä hävitä kirjoitukset kenttää.

kasetti [12.02.2008 22:40:53]

#

Kirjoitinkin kerran jo vastauksen tähän mutta... Laita tekstieditoriisi etsi/korvaa:
etsi = $viesti
korvaa = $kirjoitukset

töheltäjä [12.02.2008 23:41:47]

#

Epäilemättä näin on. Olen tehnyt tuon muutoksen kyllä. Mutta toiminto on edelleen väärin. Eli toimii tällä hetkellä nimen ja otsikon osalta oikein eli ei hävitä niitä mikäli tekstikenttä on tyhjä.Mutta tekstikenttä tyhjenee jos yritän lähettää ilman nimeä tai otsikkoa. Pitäsiköhän tuon textarean toimia samallatavalla ettei se vaan käyttäydy jotenkin eritavalla. Ei todellakaan ymmärrys riitä.

<?php

// Tarkistetaan pitääkö lomake tarksitaa
$SivunTarkistus = empty($_REQUEST['tarkistus']) ? 'ei' : 'kylla';

//otetaan lähetetty nimi muuttujaan ja poistetaan hipsut jos pillkuja on käytetty
$nimi = strip_tags($_POST["nimi"]);

$otsikko = strip_tags($_POST["otsikko"]);

// poistetaan mahdolliset html tagit mutta sallitaan boldi
$kirjoitukset = strip_tags($_POST["kirjoitukset"], '<b>');

//muutetaan entterin painallukset html <br> tageiksi
$lopullinen =  str_replace("\r\n", "<br>", $kirjoitukset);

//asetetaan päivämäärä esim. 12/6 2005 12:44 kenon voi vaihtaa esim kaksoispisteeseen
$nyt = date("d/m Y G:i");

$ilmoitus = "";

// Jos sivun tarkistus on kyylä suoritetaan se
if($SivunTarkistus == 'kylla')
{

    if($nimi == '')
    {
      $ilmoitus .= "Nimi kenttä on täytettävä<br />\n";
    }

    if($otsikko == '')
    {
      $ilmoitus .= "Otsikko kenttä on täytettävä<br />\n";
    }

    if($kirjoitukset == '')
    {
      $ilmoitus .= "Viesti on jätettävä";
    }
}

// Jos kentät ei ole tyhjiä, suoritetaan tämä
if(!empty($nimi) && !empty($otsikko) && !empty($kirjoitukset))
{
    $tiedosto = fopen("viestit.txt", "a");
    $nimi;
    $lopullinen;
    $otsikko;
    $nyt = date("d/m Y G:i");

    $rivi = "$nimi|$nyt|$otsikko|$lopullinen\n";

    fwrite($tiedosto, $rivi);

    fclose($tiedosto);

    header("Location: kuittaus.htm");
    exit;
}
?>

HELP

Vasta_alkaja [13.02.2008 08:10:34]

#

<textarea type="text" name="kirjoitukset" cols="80" rows="20" value="<? echo stripslashes($viesti); ?>"></textarea></p>

Muuta yllä oleva alla olevan mukaan

<textarea type="text" name="kirjoitukset" cols="80" rows="20" value="<? echo stripslashes($lopullinen); ?>"></textarea></p>

Eti viittaa koodissasi missään vaiheessa muuttujaan viesti, ja olin itsekkin tuon unohtanut muuttaa.. Mutta senkun vaihdat pois...

töheltäjä [13.02.2008 13:30:38]

#

Joo elikkä vaihdoin tuon loppullinen ei apua toimintaan edelleenkään.

Vasta_alkaja [14.02.2008 10:13:42]

#

Nyt toimii, niinkuin haluatkin. Meni hetki tajuta.
<textarea value=""></textarea> ei ole oikein vaan
<textarea> Tähän väliin tulee se tieto </textarea>

Tuohon kannattaisi alkajaisiksi myös tutustua ja täältä löytyy hyviä oppaita.

http://www.elkoo.net/html/php_lomake.php

<?php

// Tarkistetaan pitääkö lomake tarksitaa
$SivunTarkistus = empty($_REQUEST['tarkistus']) ? 'ei' : 'kylla';

//otetaan lähetetty nimi muuttujaan ja poistetaan hipsut jos pillkuja on käytetty
$nimi = strip_tags($_POST["nimi"]);

$otsikko = strip_tags($_POST["otsikko"]);

// poistetaan mahdolliset html tagit mutta sallitaan boldi
$kirjoitukset = strip_tags($_POST["kirjoitukset"], '<b>');


//muutetaan entterin painallukset html <br> tageiksi
$lopullinen =  str_replace("\r\n", "<br>", $kirjoitukset);

//asetetaan päivämäärä esim. 12/6 2005 12:44 kenon voi vaihtaa esim kaksoispisteeseen
$nyt = date("d/m Y G:i");

$ilmoitus = "";

// Jos sivun tarkistus on kyylä suoritetaan se
if($SivunTarkistus == 'kylla')
{

    if($nimi == '')
    {
      $ilmoitus .= "Nimi kenttä on täytettävä<br />\n";
    }

    if($otsikko == '')
    {
      $ilmoitus .= "Otsikko kenttä on täytettävä<br />\n";
    }

    if($lopullinen == '')
    {
      $ilmoitus .= "Viesti on jätettävä";
    }
}

// Jos kentät ei ole tyhjiä, suoritetaan tämä
if(!empty($nimi) && !empty($otsikko) && !empty($lopullinen))
{
    $tiedosto = fopen("viestit.txt", "a");
    $nimi;
    $lopullinen;
    $otsikko;
    $nyt = date("d/m Y G:i");

    $rivi = "$nimi|$nyt|$otsikko|$lopullinen\n";

    fwrite($tiedosto, $rivi);

    fclose($tiedosto);

    header("Location: kuittaus.htm");
    exit;
}
?>

<html>
<head>
<style type="text/css">
body{
    background:#2696B8;
}
.ilmoitus{
    width:50%;
    background:black;
    color:red;
    padding:5px;
}
</style>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
</head>
<title> Lomake juttu </title>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<input type="hidden" name="tarkistus" value="kylla">

<p>Nimi: <br><input type="text" name="nimi" size="35" value="<?php echo stripslashes($nimi); ?>"></p>
<p>Otsikko: <br><input type="text" name="otsikko" size="35" value="<?php echo stripslashes($otsikko); ?>"></p>
<p>Tähän oma kirjoituksesi:<br>
<textarea type="text" name="kirjoitukset" cols="80" rows="20"><?php echo stripslashes($lopullinen); ?></textarea></p>
<p><input type="submit" name="nappi" value="Lähetä"><br></p>

<!-- Laitetaan tänne näkymään mahdollinen virheilmoitus -->
<p class="ilmoitus"><?php echo $ilmoitus; ?></p>
</body>
</form>
</html>

töheltäjä [14.02.2008 20:57:19]

#

Joo sain nyt toimimaan. Kiitoksia tähän astisesta erittäin paljon. Varmaan joutuu pyytämään vielä lisää apuja. Noitten tallennusta tuonnissa sivuille. Pitää ensin itse perehtyä aiheeseen jonkiin verran.

Vasta_alkaja [15.02.2008 08:05:00]

#

Kysyvä saa neuvoja, mutta asiaan kannattaa myös tutustua alustavasti hieman itsekkin.

töheltäjä [28.02.2008 15:39:36]

#

Nyt sitä ollaan lirissä taas. Jotain vinkkiä kun haluaisin nyt nuo tekstit otsikon mukaan linkeiksi sivuille. Esim 10 viimeistä ja loput sitten tietysti jostain kaikki tekstit. osiosta. Nyt en tajua yhtään että mistä lähtisin purkamaan ja vielä se että olisivat uusin aina ensimmäisenä. Tyrmistyttävän typeräksi tuntee itsensä.

Vasta_alkaja [29.02.2008 06:33:18]

#

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpj5

Tuossa jotain apua.. Ei kylläkään ihan täysin sitä mitä hait, mutta kun ei tiedä, mitä tuosta jo osaat ja mitä et.

töheltäjä [29.02.2008 22:02:40]

#

Enpä juuri mitään. Saan tulemaan joko rivinumeroita enpä muuta. Pitäs saaha riviltä tuo otsikko kenttä tulostumaan tuonne sivulle sehän kait vois olla vaikka imagena tai jotain koska siitä sitten pitäs saada avattua sen rivin teksti kenttä. Itsellä ei oikein mitään ideaa oo moiseen noilla mitä tuolla oli niin ei kyllä oikein skulannu.

töheltäjä [01.03.2008 19:04:25]

#

Haloo onko kellään tuohon ongelmaan ratkaisua. Ite en vaan saa vaikka kuinka nakertaa. Mut eipähän se ihme oo kun viimeks 8 vuotta sitten tehny noita juttuja.
En lyodä toimivaa ratkasua eikait siinä luulis nyt sql mitenkään pakollinen olevan ja sitten tietysti se et tulevat oikeessa järjästyksessä mut se kait ei mikään iso ongelma oo.

Auttakaa vanhusta vastamäissä, please

Moiman [01.03.2008 21:39:04]

#

<?php
$tiedosto = array_reverse(file("viestit.txt"));

for($k=0; $k < 10; $k++) {
$tiedot = explode("|", $tiedosto[$k], 4);
$otsikko = $tiedot[2];

echo $otsikko;
}

Noin pitäisi saada 10 ensimmäistä otsikkoa tulostettua.

töheltäjä [02.03.2008 15:12:52]

#

joo nyt alakaa skulaamaan tuo mut sitten ois et noi ois niinkun niitä likkejä saman rivin kirjoituksiin se ois tuossa vielä aika olennainen juttu.

Moiman [02.03.2008 19:59:01]

#

<?php
$tiedosto = array_reverse(file("viestit.txt"));
if(isset($_GET['n']))
$nayta = count($tiedosto);
else
$nayta = 10;

if(!(isset($_GET['v']))) {
for($k=0; $k < $nayta; $k++) {
$tiedot = explode("|", $tiedosto[$k], 4);
$otsikko = $tiedot[2];
if(isset($_GET['n']))
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?n=1" . "&v=" . $k . "\">" . $otsikko . "</a><br>\n";
else
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?v=" . $k . "\">" . $otsikko . "</a><br>\n";
}
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?n=1\">Näytä kaikki viestit</a>";
}
else {
if(isset($_GET['n']))
echo "<b><a href=\"" . $_SERVER['PHP_SELF'] . "?n=1\">Takaisin</a></b><br><br>\n";
else
echo "<b><a href=\"" . $_SERVER['PHP_SELF'] . "\">Takaisin</a></b><br><br>\n";
$v = $_GET['v'];
$viesti = $tiedosto[$v];
$tiedot = explode("|", $viesti, 4);
$nimi = $tiedot[0];
$nyt = $tiedot[1];
$otsikko = $tiedot[2];
$lopullinen = $tiedot[3];

echo $nimi . "<br>\n";
echo $nyt . "<br><br>\n";
echo $otsikko . "<br>\n";
echo $viesti;
}
?>

Tuon pitäisi toimia

töheltäjä [02.03.2008 20:17:56]

#

Ja nyt sitten apachessa joku härö ei anna enää tehä uusia sivuja joissa näkyis ääkköset. Aikaisemmissa toimii. Tiedostosta kun avattaan selaimeen niin toimii mutta kun linkistä niin eipä enää toimikkaan. Enkä mielestäni ole mitään muutellut ainut alussa laitoin ne ääkköset päälle että ylipäättään näkyivät. Missähän voisi olla niin sanottua häröö. Tai mistä päin purkamaan ongelmaa. Vaikka kopioit toimivan ääkkös sivun ja nimeät sen uudestaan niin ei toimi ne ääkköset.

KIITOS TUOSTA ERITTÄIN PALJON!!!!

töheltäjä [03.03.2008 17:30:08]

#

Tuosta edellisestä koodivinkistä olisin vielä kysellyt? Kuinkahan olisi mahdollista ohjata tuosta otsikko linkistä avautumaan uudelle sivulle? Saan toimimaan muuten kuten haluan paitsi tuo olisi järkevä lisäys säästyisi ikäänkuin yksi sivu.

Olen kokeillut echota sun muuta eri sivulle noita muuttujia.

peg [03.03.2008 20:45:44]

#

noi linkit taitaa toimia näinkin
echo "<a href=?n=1&v=$k>" ,$otsikko, "</a><br>\n";

töheltäjä [03.03.2008 22:41:01]

#

Niin mut miten sen lähetys ja vastaanottaminen tapahtuu sitten sille toiselle sivulle vaika teksti.php mihin tarkotus avutua sitten? esim. lopullinen ja otsikko muuttuja.

töheltäjä [04.03.2008 03:04:39]

#

Miks tämä ei suostu etes avautumaan. En ite löydä vikaa tuosta kyllä millään.

<?php

// Tarkistetaan pitääkö lomake tarksitaa
$SivunTarkistus = empty($_REQUEST['tarkistus']) ? 'ei' : 'kylla';

//otetaan lähetetty nimi muuttujaan ja poistetaan hipsut jos pillkuja on käytetty
$kierros = strip_tags($_POST["kierros"]);

$peli = strip_tags($_POST["peli"]);

$eka = strip_tags($_POST["eka"]);

$toka = strip_tags($_POST["toka"]);

$kolmas = strip_tags($_POST["kolmas"]);

$nelonen = strip_tags($_POST["nelonen"]);

$vitonen = strip_tags($_POST["vitonen"]);

$kuus = strip_tags($_POST["kuus"]);

$seiska = strip_tags($_POST["seiska"]);

$ilmoitus = "";

if($SivunTarkistus == 'kylla')
{

    if($kierros == '')
    {
      $ilmoitus .= "Muista kierros<br />\n";
    }

    if($peli == '')
    {
      $ilmoitus .= "Muista onko v5 vai v75<br />\n";
    }

    if($eka == '')
    {
      $ilmoitus .= "Täytä lähdöt";
    }
}

// Jos kentät ei ole tyhjiä, suoritetaan tämä
if(!empty($kierros) && !empty($peli) && !empty($eka) && !empty($toka) && !empty($kolmas))
{
    $tiedosto = fopen("ravit.txt", "a");
    $kierros;
    $peli;
    $eka;
    $toka;
    $kolmas;
    $nelonen;
    $vitonen;
    $kuus;
    $seiska;

    $rivi = "$kierros|$peli|$eka|$toka|$kolmas|$nelonen|$vitonen|$kuus|$seiska\n"

    fwrite($tiedosto, $rivi);

    fclose($tiedosto);

    header("Location: index.php");
    exit;
}
?>

<html>
<head>

<style type="text/css">
body{
    background:#2696B8;
}
.ilmoitus{
    width:50%;
    background:black;
    color:red;
    padding:5px;
}
</style>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
</head>
<title> Ravi vihjeet </title>

<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<input type="hidden" name="tarkistus" value="kylla">

<p>Kierros nro: <br><input type="text" name="kierros" size="10" maxlength="2" value="<?php echo stripslashes($kierros); ?>"></p>

<p>Peli v5 vai v75: <br><input type="text" name="peli" size="10" maxlength="3" value="<?php echo stripslashes($peli); ?>"></p>

<p>Lähtö 1: <br><input type="text" name="eka" size="10" maxlength="25" value="<?php echo stripslashes($eka); ?>"></p>

<p>Lähtö 2: <br><input type="text" name="toka" size="10" maxlength="25" value="<?php echo stripslashes($toka); ?>"></p>

<p>Lähtö 3: <br><input type="text" name="kolmas" size="10" maxlength="25" value="<?php echo stripslashes($kolmas); ?>"></p>

<p>Lähtö 4: <br><input type="text" name="nelonen" size="10" maxlength="25" value="<?php echo stripslashes($nelonen); ?>"></p>

<p>Lähtö 5: <br><input type="text" name="vitonen" size="10" maxlength="25" value="<?php echo stripslashes($vitonen); ?>"></p>

<p>Lähtö 6: <br><input type="text" name="kuus" size="10" maxlength="25" value="<?php echo stripslashes($kuus); ?>"></p>

<p>Lähtö 7: <br><input type="text" name="seiska" size="10" maxlength="25" value="<?php echo stripslashes($seiska); ?>"></p>

<p><input type="submit" name="nappi" value="Sivuille"><br></p>
<p class="ilmoitus"><?php echo $ilmoitus; ?></p>
</body>
</form>
</html>

töheltäjä [04.03.2008 23:35:15]

#

Niin ja miten tuon linkin kanssa pitäs menetellä vaihdan linkkin paikalle tuon ja sitten eri sivulle echo esim. $lopullinen näinkö toimii?

Ja mikä tuossa lomakkeessa oikein ahistaa?

töheltäjä [05.03.2008 12:30:37]

#

Joo sain tuon lomakkeen toimimaan puuttu vaan yks puolipiste. Mut haluaisin vielä tietää et mitenkä minä oikeesti nuo aikasemmat linkit nyt sitten sille eri sivulle. Eli kun tuosta linkistä niin avaa tietyn sivun missä tulostuu sitten se teksti?

töheltäjä [06.03.2008 23:04:05]

#

Eli kun on tämmönen linkki echo "<a href=?n=1&v=$k>" ,$otsikko, "</a><br>\n"; niin miten tään saa avamaan tietyn sivun ja tulostumaan sinne???


Sivun alkuun

Vastaus

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

Tietoa sivustosta