Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Admin-osio kiukkuilee..!

Sivun loppuun

thuge94 [20.05.2005 23:35:23]

#

Eli, olen tehnyt admin-osion, josta voi lisätä, muokata, poistaa tai tyhjentää uutisia. Mutta kun sivun avaa, tulee tällanen ilmotus:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/orjantap/public_html/thugeweb/images/admin.php on line 34

Parse error: parse error, unexpected T_STRING in /home/orjantap/public_html/thugeweb/images/admin.php on line 34

Eli mikä neuvoksi? Tota ei löydy edes Blazen "Liian usein kysytyistä kysymyksistäkään"..

tuomas [20.05.2005 23:45:30]

#

Aloita vaikka kopioimalla koodisi tänne, niin virheen etsiminen helpoittuu.

temu92 [21.05.2005 00:00:19]

#

sieltä jostain puuttuu joitain merkkejä. tai sitten niitä on liikaa. katso itse

squid [21.05.2005 00:18:41]

#

Veikkaisin, että sieltä puuttuu {tai}(aaltosulku) riviltä 34, tai sitten sieltä puuttuu ;

Mutta laita se koodi, niin voimme auttaa paremmin...

thuge94 [21.05.2005 08:47:29]

#

Rivillä 34 on tällanen koodi:
$line = "$paivamaara|$uutinen\n";

Kape [21.05.2005 09:22:13]

#

Pistä se koodi tänne niin helpompi katsoa. Virhe voi olla myös 33 rivillä.

thuge94 [21.05.2005 11:09:00]

#

33-rivi on tyhjä.

Olga [21.05.2005 11:11:53]

#

Laitahan nyt jo se koodi, se virhe voi olla vaikka rivillä 3 jos sulla on siinä välissä tyhjää.

thuge94 [21.05.2005 11:22:07]

#

OK.

<html>
<head>
<title>tNews 1.0 admin area</title>
</head>
<body>
<br><br>
<br><?php
@session_start();
$passwordi = "admin"; // SALASANA
// ÄLÄ koske loppuosaan!
if(isset($password)) {
session_register('passu');
$_SESSION['passu'] = $password;
session_register('ip');
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
@header("Location: $PHP_SELF");
}
if($_SESSION['passu'] == $passwordi) {
?>
<html>
<head>
<title>tNews 1.0 Admin area</title>
</head>
<body>
<br><br>| tNews Admin area |<br><br>Lisää uutinen:<br><?php
$paivamaara = $_POST['paivamaara'];
$uutinen = $_POST['uutinen'];

$paivamaara = date("d.m.Y");
$uutinen = stripslashes($uutinen);
   $uutinen = htmlspecialchars($uutinen);
$uutinen = str_replace("\n", "<br>", $uutinen);

$line = "$paivamaara|$uutinen\n";
$f = fopen("news.txt", "a");
fwrite($f, $line);
fclose($f);
?>
<br><form action="admin.php" method="post"><br><input type=hidden name="paivamaara" value="<?php print($paivamaara); ?>"><br><br>
<b>Uutinen</b><br><input type=text name="uutinen"><br><input type=submit value="Tallenna"></form><br><hr><br>Uutisten muokkaus / tyhjennys<br><br><?php
$filu = file("news.txt", "a");
$filu = array_reverse($filu);
for($i = 0; $i < count($filu); $i++) {
$tet2 = explode("|", $filu[$i], 2;
$paivamaara = $det2[0];
$uutinen = $det2[1];

echo "<b>$paivamaara<br>$uutinen<br><br><a href='edit.php'>Muokkaa uutista / tyhjennä uutinen</a><hr><br> \n";
?><br><br><a href="clear.php">Tyhjennä uutiset</a><br><a href="http://tjaa.no-ip.org/tscripts">Apu ja päivitykset</a><br><a href="news.php">Poistu adminpaneelista</a><br></body></html>

<?php
}else {
print '
<form method="post" action="admin.php">
<b>Salasana</b><br>
<input type="password" name="password" size="20">
<input type="submit" value="Kirjaudu"></form>
';
}
?>

Eli tässä tämä koodi...

T.M. [21.05.2005 11:36:04]

#

Virhe löytyy kylläkin riviltä 44:

$tet2 = explode("|", $filu[$i], 2;

Ja riviltä 52, joka valittaa kaarisulkeesta, eli laita tuon rivin 48 tulostuksen jälkeen yksi kaarisulje: }

thuge94 [21.05.2005 13:48:14]

#

Kiitos. Nyt tuo warning selvisi, mutta..Mitä mun pitäs ajatella explodesta? Musta se koodi näyttäis ihan oikealta..vai..?

tsuriga [21.05.2005 16:17:18]

#

Ota joku editori millä näet eri sulkeiden väliin jäävät alueet (haulla löytyy sen sata keskustelua), tuosta puuttuu funktiokutsun lopettava sulku.

T.M. [21.05.2005 16:32:58]

#

thuge94 kirjoitti:

Mitä mun pitäs ajatella explodesta? Musta se koodi näyttäis ihan oikealta..vai..?

No huh-huh, olet tehnyt admin paneelin, muttet tiedä miten funktioita käytetään, vaikka olet käyttänyt niitä jo monessa eri kohtaa sinun koodissasi.
Ei kannata sanoa että "olen tehnyt", jos oikeasti olet vain kopioinut koodit ja liittänyt ne yhteen :)

thuge94 [21.05.2005 20:05:50]

#

Siis kuinka monta kertaa toi pitää sanoa, että en ole kopioinut mitään mistään!!!!

kaviaari [21.05.2005 20:07:33]

#

.. oisko tohon nyt uskomista :)

thuge94 [21.05.2005 21:55:38]

#

S.E.L.I.T.Ä!

hunajavohveli [21.05.2005 22:04:26]

#

Niin mikä tässä nyt oikein oli ongelma? Yhden omituisuuden ainakin huomasin, vaikken tajua ollenkaan, mitä tuon koodin pitäisi tehdä. Yrität nimittäin lukea tietoja det2-nimisestä taulukosta, vaikkei sen nimiseen taulukkoon ole laitettu aikaisemmin mitään. Tämä ei oikein tunnu järkevältä missään tapauksessa. Olet varmaan sekoittanut det2:n ja tet2:n.

folio [21.05.2005 22:06:36]

#

>> $tet2 = explode("|", $filu[$i], 2; // ei sulkumerkkiä
>> $paivamaara = $det2[0]; // tet2 -> det2, wtf?

Jos tuossa ei mielestäsi ole mitään vikaa, suosittelen lukemaan sen php:n alkeet -oppaan uudestaan ennen kuin alat täällä kyselemään yhtään mitään.

tomaattigeeni [24.05.2005 03:49:13]

#

$tet2=explode("|", $filu[$i], 2);

noin se menee, minuakin vähän kummastuttaa että miten et huomannut tuota erroria jos kerran itse olet osannut kirjoittaa koko jutun ;)

thuge94 [24.05.2005 19:04:55]

#

Huomasin sen jo..en ole sitä tänne kerennyt kirjoittamaan.. Sitä paitsi, eihän noihin warning ja parse error-ilmotuksiin voi luottaa, kun virhe on rivillä 34 ja väitetään mokan olleen 44. Okei.nyt sain tuon loppusulun ja korjasin pari muutakin pikkubugia, mutta eipähän muuttuneet miksikään noi ilmotukset.

Olga [25.05.2005 00:17:13]

#

Kokeiles muuttaa tuo rivin 34 rimpsu

$line = "$paivamaara|$uutinen\n";

muotoon

$line = $paivamaara . "|" . $uutinen . "\n";

thuge94 [25.05.2005 21:00:54]

#

Eipä auttanut tuokaan.

Olga [25.05.2005 21:34:52]

#

Googletin hieman ja ongelma saattaa olla siinä että esimerkiksi käyttämäsi FTP-softa muuttaa merkkejä matkalla. Katsele ohjelman asetuksista josko siellä olisi valinta tiedostojen siirtoon ASCII-moodissa. Itselläni tuo pätkä kun toimii moitteetta.

Juice [25.05.2005 21:39:42]

#

Siistin koodiasi:

<?php
@session_start();
$passwordi = "admin"; // SALASANA
//Elä koske loppuosaan!
if(isset($password)) {
    session_register('passu');
    $_SESSION['passu'] = $password;
    session_register('ip');
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
?>
<html>
<head>
<title>tNews 1.0 Admin area</title>
</head>
<body>
<?php
if($_SESSION['passu'] == $passwordi) {
?>

<br><br>| tNews Admin area |<br><br>Lis&auml;&auml uutinen:<br>
<?php
$paivamaara = $_POST['paivamaara'];
$uutinen = $_POST['uutinen'];

$paivamaara = date("d.m.Y");
$uutinen = stripslashes($uutinen);
$uutinen = htmlspecialchars($uutinen);
$uutinen = str_replace("\n", "<br>", $uutinen);

$line = "$paivamaara|$uutinen\n";
$f = fopen("news.txt", "a");
fwrite($f, $line);
fclose($f);
?>
<br>
<form action="admin.php" method="post"><br>
	<input type="hidden" name="paivamaara" value="<?php print($paivamaara); ?>"><br><br>
	<b>Uutinen</b><br>
	<input type="text" name="uutinen"><br><input type="submit" value="Tallenna">
</form>
<br><hr><br>Uutisten muokkaus / tyhjennys<br><br>

<?php
$filu = file("news.txt", "a");
$filu = array_reverse($filu);
for($i = 0; $i < count($filu); $i++) {
    $tet2 = explode("|", $filu[$i], 2);
    $paivamaara = $det2[0];
    $uutinen = $det2[1];
    echo '<b>{$paivamaara}<br>{$uutinen}<br><br><a href="edit.php">Muokkaa uutista / tyhjenn&auml; uutinen</a><hr><br>';
?>

<br><br>
<a href="clear.php">Tyhjenn&auml; uutiset</a><br>
<a href="http://tjaa.no-ip.org/tscripts">Apu ja p&auml;ivitykset</a><br>
<a href="news.php">Poistu adminpaneelista</a><br>

<?php
}
}
else {
?>
<form method="post" action="admin.php">
<b>Salasana</b><br>
<input type="password" name="password" size="20">
<input type="submit" value="Kirjaudu">
</form>
<?php
}
?>
</body></html>

Sivun alkuun

Vastaus

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

Tietoa sivustosta