Kirjoittaja Aihe: Shutbox apua?  (Luettu 3906 kertaa)

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Shutbox apua?
« : 03.05.07 - klo:21.53 »
Elikkäs olen tässä koodaillu vähän ja yrittäny saada puoliksi omatekemää shutboxia toimimaan. Mutta ei toimi. Valittaa alla olevaa.

Koodia: [Valitse]
Warning: fopen(viestit/viestit.dat) [function.fopen]: failed to open stream: No such file or directory in /var/www/kirjaudu/admin_etu.php on line 108

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/kirjaudu/admin_etu.php on line 108

Olen yrittäny kattoo et missä vika mut en löydä, osaiskos joku fiksumpi auttaa?

Ja koodi pätkä on seuraavanlainen:

Koodia: [Valitse]
if($_GET['sivu'] == "viesti" && $nu)
{
    // Jos luo-nappia on painettu...
    if($_POST['nu'])
    {
      $error_desc = "";
      $nimi = $_POST['username'];
      $viestit = $_POST['viestit'];
      $add_to_nu = $_POST['nu'];
      $tiedosto = "viestit/viestit.dat";


      // Virheentarkistusta

      if(empty($viestit))
$error_desc = "Kirjota nyt jotain!";

      else
       {
   $nufile = "$tiedosto";
          $error_desc = "Viesti lähetetty!";
          if($add_to_nu)
          {
            $superuserfile = "$tiedosto";
            if(fwrite(fopen($nufile,"+x"),"<b>$_POST[username]</b>: $_POST[viestit]<br> "))

              $error_desc .= "Viesti lähetetty!";
            else
              $error_desc .= "Lähetys epäonnistui!";
          }
       

      }
    }

$output .='<b>EI TOIMI VIELÄ!</b><br><br>';
$output .='<b>Lähetä viesti!</b><br><br>';
$output .= '<form action="index.php?sivu=viesti" method="post">
<table width="100px" cellpadding="2" border="0" class="v11">
 <b>'.$error_desc.'</b>

<tr><td>Nimi:</td>
<td>'.$_SESSION['username'].'</td>
</tr><td>Viesti:</td>
<td><textarea name="viestit" rows="3" cols="24"></td>
</tr><td></td><td>
<input class="v11" name="nu" type="submit" value="Lähetä">
<input class="v11" name="reset" type="reset" value="Tyhjennä"></td></tr></table>
</form>';


}

Niin ja kyseessä on PHP..

Linux user #460798

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Shutbox apua?
« Vastaus #1 : 03.05.07 - klo:22.00 »
Joo no sain sen sit heti toimimaan.. :p

Mutta olis vielä ongelma, että tuohon koodiin ei voi laittaa
Koodia: [Valitse]
<?php include("viestit/viestit.dat"?> koska se ei sitten näytä sitä. :( Miten sen saisi näkymään tuohon sivuun, että saisin näkyviin mitä viestejä on kirjoiteltu. :)
« Viimeksi muokattu: 03.05.07 - klo:22.03 kirjoittanut Marbo »

Linux user #460798

peran

  • Vieras
Vs: Shutbox apua?
« Vastaus #2 : 04.05.07 - klo:02.35 »
Koodia: [Valitse]
<?php
$f
=fopen("viestit/viestit.dat","r");
print 
fread($f,sizeof("viestit/viestit.dat"));
fclose($f);
?>


Noin pokkana heitän lukematta ohjeita, joten jos ei toimi, niin kysyppäs uudelleen, niin lukaisen vähän ohjeitakin.

Ehjeista kannattaa lukea seuraavat:
fopen
fread
fclose
« Viimeksi muokattu: 04.05.07 - klo:02.37 kirjoittanut peran »

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Shutbox apua?
« Vastaus #3 : 04.05.07 - klo:07.59 »
Eipäs tulostanu tolla.. :( Ei näy mitään.

Linux user #460798

Kossusukka

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Vs: Shutbox apua?
« Vastaus #4 : 24.05.07 - klo:22.27 »
Koodia: [Valitse]
<?php
$f
=fopen("viestit/viestit.dat","r");
print 
fread($f,sizeof("viestit/viestit.dat"));
fclose($f);
?>


Tuon sizeof() funktion tilalle voisi laittaa strlen(), itsellä se toimi paremmin.
Kyllä itse kun phpllä testasin niin tuon pitäisi toimia.
Xubuntu 7.04 AMD64 <3 :)

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Shutbox apua?
« Vastaus #5 : 25.05.07 - klo:09.32 »
Tuolla PHP:n manuskassa on yllättäen käytännössä suoraan hyödynnettävissä oleva esimerkki:

http://fi.php.net/manual/en/function.fread.php

Lainaus
Tuon sizeof() funktion tilalle voisi laittaa strlen(), itsellä se toimi paremmin.
Kyllä itse kun phpllä testasin niin tuon pitäisi toimia.

Minkähän mittaista tiedostoa olet lukenut, strlen-funktio kun palauttaa parametrina annetun merkkijonon pituuden, eikä siis tiedoston kokoa. Oikea funktio tuohon on siis filesize, sizeof vastaavasti on funktion count alias...

RTFM ;)
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

Kossusukka

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Vs: Shutbox apua?
« Vastaus #6 : 25.05.07 - klo:14.00 »
No niimpäs näyttää..  :-[
Sattui juuri tiedoston nimi olemaan saman pituinen kuin teksti sisällä niin näkyi samana..
Xubuntu 7.04 AMD64 <3 :)