Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tarkistaa onko tiedostoa jo?

Sivun loppuun

ZeBe [17.02.2004 13:44:27]

#

Kysyin apua jo, mutta koska olen minä niin en välttämättä tajunnut joten tota miten saan tämän tarkistamaan että onko tuon nimistä tiedostoa jo minkä laittaa tuohon kohtaan...

<form method="post" action="">
Tarkista että haluamasi domain on vapaa: http://<input type="text" name="kansio" size="15" maxlength="10">.sivutilaa.net
<input type="submit" value="Tarkista">
</form>
<?php
$kansio == $tarkista
if(file_exists($id )== "Domain on varattu!"
else "Domain on vapaa ja odottaa sinun sivustoasi!"
?>

Tämän pitäisi siis katsoa ettei tiedostossa bublic_html ole viellä tuon nimistä tiedostoa :)

Olga [17.02.2004 13:57:47]

#

1. Tarkistetaan onko nappia painettu
2. Jos nappia on painettu, luetaan tiedosto taulukkoon (oletettavasti nimet tiedostossa allekkain)
3. Käydään taulukko silmukassa läpi ja verrataan saatua arvoa käyttäjän syöttämään (muistetaan ottaa huomioon isot ja pienet kirjaimet, tyyli on vapaa)
4. Jos vastaavuus löytyy, hypätään pois silmukasta ja tulostetaan käyttäjälle tieto. Jos silmukka on käyty läpi ja vastaavuutta ei löytynyt, tulostetaan käyttäjälle siitä ilmoitus.
5. Iloitaan ja riemuitaan, itse tehty ja toimiva skripti saa aina hyvälle tuulelle :)

Edit: Pyydän ZeBe mitä nöyrimmin anteeksi kun aina jaksan tästä jankuttaa, mutta sä et koskaan tuu oppimaan mitään jos sä aina pyydät kaiken muilta valmiina. Putkan ja Kuhan oppaat on todella mainioita ja niillä pääsee kyllä paremmin ku hyvin alkuun. Sit ku perusasiat on kinttaassa, voi käydä tarpeen tullen siellä php.net:ssä kurkkimassa niitä funktioita ja niiden toimintaa. Ja jos ja kun tulee ongelmia, täällä putkassa esimerkiksi on iso lauma avuliaita aatuja, jotka auttaa mielellään ongelman ratkaisemisessa. Mutta valmiita skriptejä ei luultavasti kovin moni anna. Aamen.

Edit2: Tuo ylläoleva oli siis ratkaisumalli tuohon viimeiseen ongelmaan, eli löytyykö tiedostosta bublic_html kyseistä tiedostoa (tiedostonnimeä). Jos haluat käydä kansion läpi ja etsiä tiedostoa, ratkaisu on mitä todennäköisimmin hieman erilainen. Siihenkin kuitenkin löytyy rutkasti valmiita koodinpätkiä esimerkiksi täältä putkan koodikirjastosta, sekä raamattumme sivuilta.

ZeBe [17.02.2004 14:29:01]

#

Tiedän että tekemällä oppii, ja olen yrittänyt mutta kun ei niistä mun jutuista meinaa tulla lasta eikä paskaa kun aina puuttuu jotain jostain :S ja sit ne on ihan sekasin :S

tsuriga [17.02.2004 14:43:45]

#

Muuttujiin tallennetaan arvot yhdellä "="-merkillä.
(ei kahdella) Ja iffin jälkeen "==" tilalle ")". Näin aluksi.

Olga [17.02.2004 14:45:29]

#

Pitää lähtee perusasioista liikkeelle. Ensin muutamat Hello World!:t ja siitä sitten eteenpäin. Ei sovi haukata liian isoa palasta kerralla :)

ZeBe [17.02.2004 15:54:14]

#

Olen muutamat Hello Wordit heittanut ja vastaavat mutta ei oikeen toi oikeen onnistu :S

Mutta siis tosta toimivan version sain joten laitetaanpas seuraava juttu tänne...

Eli jaksaako kukaan tehä mun puolesta jotain mitä minä en osaa enkä jaksa tehä, eli tämän jutun loppuun....

<h3>Tilaa (* Merkityt kohdat ovat pakollisia!)</h3>
	<form method="post" action="">
	<b>Tilaustiedot:</b><br>
	*Tilaan:	<select name="tilaa">
			<option value="Lumipallo">Lumipallon<BR>
			<option value="Lumilyhty">Lumilyhdyn<BR>
			<option value="Lumilsade">Lumilsateen<BR>
			</select>
	*Domaini: http://<input type="text" name="domaini" size="15" maxlength="10"><br>
	*Salasana: <input type="password" name="salasana" size="15" maxlength="14"><br>
	*Uudestaan: <input type="password" name="uudestaan" size="15" maxlength="14"><br>
	<b>Henkilötiedot:</b><br>
	*Etunimesi: <input type="text" name="etunimi" size="15" maxlength="10"><br>
    *Sukunimesi: <input type="text" name="sukunimi" size="15" maxlength="14"><br>
    *Osoitteesi: <input type="text" name="osoite" size="15" maxlength="20"><br>
    *Postitoimipaikka: <input type="text" name="ppaikka" size="15" maxlength="10"><br>
    *Postitoiminumero: <input type="text" name="pnumero" size="15" maxlength="10"><br>
    *S-postisi: <input type="text" name="sposti" size="15" maxlength="10"><br>
    Puhelinnumero: <input type="text" name="puh" size="15" maxlength="12"><br>
    <b>Sivun tietoja:</b><br>
    Sivun nimi: <input type="text" name="sposti" size="15" maxlength="10"><br>
    siirto s-posti jonka haluat: <input type="text" name="siirtoposti" size="15" maxlength="10">@domainisi.sivutilaa.net<br>
    S-postin salasana: <input type="password" name="siirtosalasana" size="15" maxlength="10"><br>
    salasana uudestaan: <input type="password" name="siirtouudestaan" size="15" maxlength="10"><br>
    *Tietoa sivustosta: <textarea cols="15" class="50" name="tietoa"></textarea><br>
    *Miksi sinulle ilmainen sivutila/domain: <textarea cols="15" class="50" name="koska"></textarea><br>
	</form>
	<?php

        ?>

Eli tuo pitäisi saada toimimaan ja nuo kohdat missä on tähti pitäisi olla sellaisia että niissä on varmasti tekstiä ja sitten että salasanat "siirtosalasana" ja "siirtouudestaan" pitäisi olla samat ja sitten taas "salasana" ja "uudestaan" pitäisi olla samat. Ja sitten taas tuossa "domaini" kohdassa ei saa olla mitään .,* / merkkejä tai muita sellasia vastaavia... ja vähintään 3 kirjainta...

Eli että jos joku viittii tehä loppuun tuon tai ainakin auttaa minua tuon tekemisessä... Jos tuota kukaan ei auta ilmaisiksi niin kaippa vois vähän maksaakkin, mutta huom VÄHÄN!!!

mutta siis että sillä lailla...

minapamina [17.02.2004 16:18:02]

#

Tuskimpa kukaan alkaa tuota sinulle valmiiksi tekemään, mutta harjoittele vaan ahkerasti lukemalla esim. ohjelmointiputkan oppaita, niin etköhän sinä kohta tuon itsekin osaa tehdä.

ZeBe [17.02.2004 16:45:21]

#

Heh teinpähän sen itse jo :) mutta tässä on sen koodit, että jos jollakin on ehdotuksia sen muokkaamiseen...

<h3>Tilaa (* Merkityt kohdat ovat pakollisia!)</h3>
	<form method="post" action="">
	<b>Tilaustiedot:</b><br>
	*Tilaan:	<select name="tilaa">
			<option value="Lumipallo">Lumipallon<br>
			<option value="Lumilyhty">Lumilyhdyn<br>
			<option value="Lumilsade">Lumilsateen<br>
			</select><br>
	*Domaini: http://<input type="text" name="domaini" size="15" maxlength="10">.sivutilaa.net<br>
	*Salasana: <input type="password" name="salasana" size="15" maxlength="14"><br>
	*Uudestaan: <input type="password" name="uudestaan" size="15" maxlength="14"><br>
	<b>Henkilötiedot:</b><br>
	*Etunimesi: <input type="text" name="etunimi" size="15" maxlength="10"><br>
    *Sukunimesi: <input type="text" name="sukunimi" size="15" maxlength="14"><br>
    *Osoitteesi: <input type="text" name="osoite" size="15" maxlength="20"><br>
    *Postitoimipaikka: <input type="text" name="ppaikka" size="15" maxlength="10"><br>
    *Postitoiminumero: <input type="text" name="pnumero" size="15" maxlength="10"><br>
    *S-postisi: <input type="text" name="sposti" size="15" maxlength="10"><br>
    Puhelinnumero: <input type="text" name="puh" size="15" maxlength="12"><br>
    <b>Sivun tietoja:</b><br>
    Sivun nimi: <input type="text" name="sivunnimi" size="15" maxlength="10"><br>
    siirto s-posti jonka haluat: <input type="text" name="siirtoposti" size="15" maxlength="10">@domainisi.sivutilaa.net<br>
    S-postin salasana: <input type="password" name="siirtosalasana" size="15" maxlength="10"><br>
    salasana uudestaan: <input type="password" name="siirtouudestaan" size="15" maxlength="10"><br>
    *Tietoa sivustosta: <textarea cols="15" class="50" name="tietoa"></textarea><br>
    *Miksi sinulle ilmainen sivutila/domain: <textarea cols="15" class="50" name="koska"></textarea><br>
	</form>
	<?php
	if ($domain)
	{
	yksi;
	kaksi;
	kolme;
	echo ("Domain on onjo käytössä koita toista!")
	}
	else ($OK1)

	if ($salasana)
	$uudestaan ("$OK2")
	else ("Tunnuksen salasanat eivät täsmänneet!")

	if ($siirtosalasana)
	$siirtouudestaan ("$OK3")
	else ("Siirto s-postin salasanat eivät täsmänneet!")

	"|" == "<BR>"
	echo ($tilaa "|" $domaini "|" $salasana "|" $etunimi "|" $sukunimi "|" $osoite "|"
	$ppaikka "|" $pnumero "|" $posti "|" $puh "|" $sivunnimi "|" $siirtoposti "|"
	$siirtosalasana "|" $tietoa "|" $koska "|" $REMOTE_ADDR)
	?>

Koodista puuttuu viellä vähän, mutta lisäilen niitä kokoajan :)

ZeBe [17.02.2004 17:01:08]

#

Se muuten valittaa että Parse error: parse error, expecting `','' or `';'' in /home/ruokakom/public_html/Sivutilaa/tilaa.php on line 27

ja tässä se rivi!

else ("Domain on vapaa ja odottaa sivustoasi!")

ja tässä koko se koodi missä toi on :D

<form method="post" action="">
	Muista että domainisi ei saa sisältää .,*/ sun muita merkkejä. Tarkista onko haluamasi<br>
	domain vapaa: http://<input type="text" name="tarkistus" size="15" maxlength="10">.sivutilaa.net<br>
	<input type="submit" value="Tarkista">
	</form>
	<?php
    if (tarkistus)
	{
	yksi;
	kaksi;
	kolme;
	echo ("Domain on jo varattu!")
	else ("Domain on vapaa ja odottaa sivustoasi!")
	}
	?>

Olga [17.02.2004 17:08:11]

#

Voi nyt jo pyhä sylvi. Tuossa ei oo taaskaan ei päätä eikä häntää tuossa sun koodissa. Mut virheilmoitus tulee siitä että sulla puuttuu puolipiste rivin lopusta, niinku se virheilmoitus sanookin. Ja voin kyl vihjaista että se ei oo ainoa virhe...

ZeBe [17.02.2004 17:32:20]

#

Tota sitä virhettä ei enää ole mutta. Miksi se kirjoittaa heti että domain on varattu? vaikkein todellakaan ole varattu? Missä vika... kerro edes syy miksi se sanoo niin :)

ZeBe [17.02.2004 17:33:09]

#

<form method="post" action="">
	Muista että domainisi ei saa sisältää .,*/ sun muita merkkejä. Tarkista onko haluamasi<br>
	domain vapaa: http://<input type="text" name="tarkistus" size="15" maxlength="10">.sivutilaa.net<br>
	<input type="submit" value="Tarkista">
	</form>
	<?php
    if (tarkistus)
	{
	yksi;
	kaksi;
	kolme;
	echo ("Domain on jo varattu!");
	}
	else echo ("Domain on vapaa ja odottaa sivustoasi!");
	?>

Tässä se koodi siis... (hemmetti soikoon tässä tää muokkaus juttu on aika höm... :S)

Olga [17.02.2004 18:05:11]

#

Okei, käydään nyt jotain juttuja tuosta sun koodista läpi:

* laita tuohon submit-nappiin name-attribuutti, vaikkapa "nappula"
* sit tarkistat ennenku skriptin suoritat, tarkistat onko nappia painettu. if(isset($_POST['nappula']))
* pistä formille action. kun kyseinen skripti sijaitsee samassa tiedostossa, voit laittaa siihen sen tiedoston nimen, tai sit tehdä fiksusti ja käyttää $_SERVER['PHP_SELF'] - muuttujaa, josta nykyinen sivu löytyy
* mitä ihmettä nuo on nuo yksi, kaksi ja kolme? ei yhtään mitään.

ZeBe [17.02.2004 18:19:35]

#

yksi kaksi ja kolme ovat mukamas sivuja eli kun joku tilaa sivun ja se hyväksytään se kirjoitetaan tuonne listaan :)

ZeBe [17.02.2004 19:35:46]

#

Mikä koodissa on vikana, koska se sanoo aina että domain on varattu, vaikka nimi ei olisi if jutussa!

<form method="post" action="tilaa.php">
Tarkista onko domainisi vapaa:<br>
http://<input type="text" name="tarkistus" size="15" maxlength="10">.sivutilaa.net<br>
<input type="submit" value="Tarkista" name="nappula1">
</form>
<?php
if(isset($_POST['nappula1']))
if (tarkistus)
{
yksi;
kaksi;
kolme;
echo ("Domain on jo käytössä koita jotain toista!");
}
else echo ("Domain on vapaa ja odottaa sivustoasi!");
?>

rainmikko [17.02.2004 20:19:04]

#

Eli eli...
Mihin sinä vertaat tuota domainia, jotta tiiät onko se vapaa? Liittyykö noi yksi, kaksi ja kolme jotenkin siihen?

ajv [17.02.2004 20:28:06]

#

Siis ei voi muuta kuin nauraa makeasti!! Tosta sun PHP:n opiskelusta ei tule MITÄÄN. Tossa koodissa ei ole mitään - siis ei MITÄÄN - järkeä! *naurua*.

Edit:Anteeksi naurunpuuskani.

rainmikko [17.02.2004 20:34:36]

#

Äläs nyt, on tuossa kolme lausetta sentään oikein:

lainaus:

if(isset($_POST['nappula1'])) //Made by Irksome

ja

lainaus:

echo ("Domain on jo käytössä koita jotain toista!");

sekä

lainaus:

else echo ("Domain on vapaa ja odottaa sivustoasi!");

Eli ei täysin penkin alla... :D

tsuriga [17.02.2004 20:49:51]

#

Eikös tuossa pitäisi olla if(isset..) jälkeen vielä { }. Ja mihin listaan tos muka kirjotetaan? echon jälkeen eivät () ole pakollisia. Saa ne olla ei siinä mitää. Unohdit rainmikko mainita, että php-tagit on oikein :). Putkan oppaat o mukavia. Ja php.net funktiosearchi/-lista.

ZeBe [17.02.2004 21:06:11]

#

<form method="post" action="">
Tarkista onko domainisi vapaa:<br>
http://<input type="text" name="tarkistus" size="15" maxlength="10">.sivutilaa.net<br>
<input type="submit" value="Tarkista" name="nappula1">
</form>

Tuon jälkeen siis pitäisi tulla se php juttu eli että se tarkistaa onko kyseinen nimi jo käytössä, eli listassa joka on koodissa... Listaan pitäisi olla helppo myös lisätä uudet domainit...

----

Vastauksia teille: Juuh ne yksi kaksi ja kolme olivat niinkuin esimerkki subdomaineja... Mutta siis kerta tuo oli ihan päin mäntyä niin ei minun kannata uutta sellaista yrittää tehdä, vaan pyytä teiltä puhdasta versiota siitä...

----

Yksi puhdas versio on tässä, mutta se ei jostain syystä toimi :S

<?php
// testaa onko annettu subdomain jo varattu. Varatut domainit muuttujassa
// $reserved
$reserved = array();
$reserved[0] = 'subdomain1';
$reserved[1] = 'subdomain2';
$domain = $_POST['tarkistus'];

$is_reserved = in_array($domain, $reserved);

if($is_reserved) {
echo "Domain $domain on varattu";
}
else {
echo "Domain $domain on vapaa!";
}
?>

Eli että sillä lailla... :)

rainmikko [17.02.2004 21:12:29]

#

Jos se ei toimi, niin mitä virheilmotuksia se antaa?

ZeBe [17.02.2004 21:15:22]

#

Se väittää että kaikki olisivat vapaita... vaikka ei todellakaan ole... esim tuo subdomain1 lukee tiedostossa että se ei olisi, mutta eipähän kerro vaan väittää olevan vapaa...

EDIT: Virhe löytyi ja se toimii nykyään... Virheenä oli kirjoitus virhe name="" kohdassa...

Eli taas on yksi virhe korjattu ja sitten pitäisi alkaa seuraava juttua tekemään... :)

Kiitos kaikille ketkä auttoivat tässä keskustelussa!

abina [18.02.2004 00:05:28]

#

tälläisten juttujen lukemisen jälkeen tulee hyvä mieli! tunnen itseni aloittelijaksi. en enää täysin aloittelijaksi! eli olen päässyt edes sen ensimmäisen pykälän ylöspäin!


Sivun alkuun

Vastaus

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

Tietoa sivustosta