Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.05.2002, 15:57
Retro



Hoi, ich versuch mich grad wieder nen bisschen in PHP einzufinden und hab so meine ... probleme ... ;) So gut meine Sessions funktionieren, meine Pseudosuche tut es nicht!Quellcode:<?php
$word = "moep";
$file = "moep.html";

if(is_file($file))
{
  $fp = fopen($file, "r");
  
  while (!feof($fp) do
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) <= 1)
    {
      // Word found
      echo "$word wurde in $file gefunden!";
    }
    else
    {
      echo "$word konnte nirgends gefunden werden!";
    }
  }
}
?>
Quellcode:Parse error: parse error in d:\website\search.php on line 9Wird wahrscheinlich nen übersehener Fehler sein...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 13.05.2002 um 16:00 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
13.05.2002, 16:02
KillerDoc



Und das findest du ned selber ? :)

Ich würd mal sagen in Zeile neun feht dir eine Klammer zu...

--

lazy sunday afternooon
i got no mind to worry
i close my eyes and drift away....

zum Seitenanfang zum Seitenende Profil || Suche
002
13.05.2002, 16:03
[RMen]OneStone



Quellcode:while (!feof($fp)[color="#A00000"] do[/color]
Quellcode:while(!feof($fp)[b])[/b]

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 13.05.2002 um 16:05 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
13.05.2002, 16:06
Retro



Arg, hast auch schnell editiert... fehler ändern sich sehr schnell o_O
Quellcode:Parse error: parse error, expecting `T_WHILE' in d:\website\search.php on line 22Quellcode:<?php
$word = "moep";
$file = "moep.html";

if(is_file($file))
{
  $fp = fopen($file, "r");
  
  while (!feof($fp)) do
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) <= 1)
    {
      // Word found
      echo "$word wurde in $file gefunden!";
    }
    else
    {
      echo "$word konnte nirgends gefunden werden!";
    }
  }
}
?>
Nu schätze ich dass die Schleife Ärger macht... ich hab ja gewarnt, PHP-Newbie, das soll mein erstes Script werden, die Datei soll Zeile für Zeile ausgelesen werden... bis zum Schluss, While ist wohl nicht so prall?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 13.05.2002 um 16:07 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
13.05.2002, 16:38
anothergb02



wäre ganz wunderbar, wenn du Zeile 22 markieren könntest.

--

Being in john Malkovich
.....


Dieser Beitrag wurde am 13.05.2002 um 16:39 von anothergb02 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
13.05.2002, 16:43
Retro



Hm, dummes Problem, Zeile 22 ist die Allerletzte! o_O

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
006
13.05.2002, 16:52
anothergb02



Ich hab zwar keine Ahnung von PhP aber wenn das im Stil von C++ geschrieben ist, dann könnte ich dir noch nen Tip zu fopen geben -> wenn es da auch ein Kommentar 'b' gibt, dann solltest du immer "wb" und "rb" benutzen, da es ansonsten zu irgend welchen komischen Fehlern beim Einlesen/Schreiben größerer Dateien kommt.

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
007
13.05.2002, 17:00
Kriz



Kerl, laß doch mal das asselige do weg hinter dem while-Körper!!! Das ist PHP und net Pascal! In PHP gibbet nur folgende Syntax:

do { ... } while();
while() { ... } (bzw. while : endwhile)
for() { ... } (bzw. for : endfor)

Also, laß das do weg, wenn du nur eine while-Schleife benutzt! Dein neuer Fehler beruht darauf, daß du gleich zwei Schleifen initialisierst:

while() { ... } und do { ... } while()! Und wieso? Weil du dein asseliges do hinter while() net weggemacht hast!!!

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)


Dieser Beitrag wurde am 13.05.2002 um 17:03 von Kriz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
13.05.2002, 17:27
CN



Zitat:
Hm, dummes Problem, Zeile 22 ist die Allerletzte! o_O

nurso btw... dann musste irgendwo n "{" vergessen haben...

und ähmm... http://www.php.net/while

oder http://www.php.net/*function*

--

zum Seitenanfang zum Seitenende Profil || Suche
009
13.05.2002, 18:38
Retro



Ja mei, das "do" hab ich dann nur im Nachhinein drangedichtet weil es so:
Quellcode:<?php
$word = "moep";
$file = "moep.html";

if(is_file($file))
{
  $fp = fopen($file, "r");
  
  while (!feof($fp))
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) <= 1)
    {
      // Word found
      echo "$word wurde in $file gefunden!";
    }
    else
    {
      echo "$word konnte nirgends gefunden werden!";
    }
  }
}
?>
auch net ging! =\

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
010
13.05.2002, 19:09
Megge



Quellcode:
<?php
$word = "moep";
$file = "moep.html";
if(is_file($file))
{
  $fp = fopen($file, "r");

  while (!feof($fp))
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) <= 1)
    {
      // Word found
      [b]echo $word." wurde in ".$file." gefunden!";[/b]
    }
    else
    {
      [b]echo $word." konnte nirgends gefunden werden!";[/b]
    }
  }
}
?>

versuchs ma so...

btw, welcher fehler kommt und wieso überprüfst du mit feof überhaupt, wo der dateizeiger ist, da mit r überhaupt keiner gesetzt wird - es wird ja nix geschrieben...

--


Dieser Beitrag wurde am 13.05.2002 um 19:09 von Megge bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
13.05.2002, 19:18
dp
Administrator


megge das ist nur ne andere (schnellere) schreibweise.

wäre aber von vorteil zu beschreiben _was_ net geht.

anyway

substr_count($line, $word) <= 1
wenn die anzahl der wörter im string kleiner gleich 1 ist dann wurde was gefunden.
WTF?

ich denke mal du meintest >= ja?

btw die suche funzt in nem bestimmten fall nicht: wenn das suchwort bei byte 999 ist und länger als ein char dann wirds zerhäckselt und wird entsprechend nicht gefunden o_O.

--


Dieser Beitrag wurde am 13.05.2002 um 19:21 von Darth Paul bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
13.05.2002, 23:03
CN



ich bin mir nich mehr sicher ob das sein muss aber
kann es daran liegen das die var nich in/dekrementiert
wird? sonst brüchtest du doch keine schleife

--


Dieser Beitrag wurde am 13.05.2002 um 23:04 von campersnightmare bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
13.05.2002, 23:16
Retro



Also der Filepointer wird auch beim lesen einer Zeile gesetzt... ich weiss absolut nicht was vorhin falsch war, hier die aktuelle Version die genauso funktioniert wie sie soll:
Quellcode:<?php
$word = "moep";
$file = "moep.html";

if(is_file($file))
{
  $fp = fopen($file, "r");
  
  while (!feof($fp))
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) >= 1)
    {
      // Word found
      echo "<font face='Verdana' size='2'>'$word' wurde in '$file' gefunden!<br></font>";
    }
    else
    {
      echo "<font face='Verdana' size='2'>'$word' konnte nirgends gefunden werden!<br></font>";
    }
  }
}
?>
Merchwürdig... o_O

Das mit substr_count($line, $word) <= 1 war türlich falsch... denkfehler meinerseits! Ist auch keine richtige Suche... dafür wohl etwas "zu" mager ;) Aber immerhin nen Anfang... Thx für die Hilfe!

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
014
14.05.2002, 00:16
Andy_



setz mal für $line = fgetss($fp, 1000); "1024" für den length parameter ein, da 1000 kein viellfaches von 8 ist, könnte das System damit Probleme haben.

BTW: Bei mir funktioniert das Script.

--

42 Es gibt keinen Sinn des Lebens.


Dieser Beitrag wurde am 14.05.2002 um 00:21 von Andy bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
14.05.2002, 16:03
dp
Administrator


vielfaches von 8? wenn schon 2er potenz, aber das ist ziemlich egal. muss auch so gehen (tut es auch bei mir ..)

poste mal die moeb.html

--

zum Seitenanfang zum Seitenende Profil || Suche
016
14.05.2002, 20:42
Retro



welche moeb.html?! o_O

Quellcode:
[b]moe[i]p[/i].html[/b] =p


<html>
<head>
<title>The Möp!</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td bgcolor="#0066FF">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>
                  <p align="center">jdghfjkdbsfjkhsdjfhndsjkfhnsdifhnsdkf<br>
                    jkhdnfsdklgjsdtoifjoigjdvmklsdmgfdklf<br>
                    klfcghjkdfhgkjfdhgjfdghjkdfgkdfgkjhdf<br>
                    jhesjkrtfhsdkfhsdifehwuirh38w45eijfio<br>
                    8uweu95r832rojiqwerj9we8ofijsdoifjfgh</p>
                  </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
einfach insich (sinnlos) verschachtelte Tabellen ;) für jedes gefundene "moep" wird einmal ein schriftzug "'moep' gefunden" ausgegeben... das soll noch seinen sinn bekommen, hier das aktuelle script:
Quellcode:<?php
$word = "moep";
$file = "moep.html";

if(is_file($file))
{
  $fp = fopen($file, "r");
  
  while (!feof($fp))
  {
    $line = fgetss($fp, 1000);
    if(substr_count($line, $word) >= 1)
    {
      echo "<font face='Verdana' size='2'>'$word' wurde in '$file' gefunden!<br></font>";
      $found = 1;
    }
  }
  if($found == 0)
  {
    echo "<font face='Verdana' size='2'>'$word' konnte nirgends gefunden werden!<br></font>";
  }
}
?>
funzt wunderbär...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 14.05.2002 um 20:43 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
017
14.05.2002, 21:08
dp
Administrator


erm achso ich dachte es geht immer noch nicht, aber scheint sich wohl schon in #013 gelöst zu haben o_O

--

zum Seitenanfang zum Seitenende Profil || Suche
018
14.05.2002, 23:30
Andy_



Zitat:
Retro postete
Merchwürdig... o_O
Hat mich auch iritiert...

--

42 Es gibt keinen Sinn des Lebens.

zum Seitenanfang zum Seitenende Profil || Suche
019
15.05.2002, 07:06
Megge



hat der je ein word gefunden ? falls ja, dann wunderts mich, denn es kommt gar nie drin vor !
es kommt lediglich Möp vor
und Möp != moep

der phenotypus ist hier egal, auf den genotypus kommts an ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
020
15.05.2002, 13:18
Retro



ja nee, is klar ne?! ;)

das is halt meine testdatei, wenn ich ein "moep" brauche schreib ich schnell eins rein =)

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche