SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.07.2002, 20:25:06
Sirius Sirius ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 19
kleines suchmaschinenscript

hallo!
ich habe ein kleines suchmaschinen script geschrieben (für eine chemie website, also nicht wundern *g*) nur leider treten ein paar fehler auf von denen ich keine ahnung hab weshalb sie fehler sind. auch im restlichen quellcode sind vermutlich noch fehler aber seid nich zu 'streng' bin noch anfänger *g*

ich hoffe das forum 'zerhackstückelt' den quellcode nicht, ich stell ihn sicherheitshalber hier mal mit allen benötigten dateien zum download: http://www.harald-bartsch.de/suche/script.zip
das script könnt ihr auch hier aktiv sehen: http://www.harald-bartsch.de/suche


hier der code:

<html>
<head>
<title>ChemSearch</title>
</head>
<body link="#000000" alink="#000000" vlink="#000000">
<?php

if($action == "")
{
$action="search";
}

$where1="#ffffff";
$where2="#ffffff";

if($action == "search")
{
$where1="#fof8ff";
}
else
{
$where2="#fof8ff";
}

if($check == "exakt")
{
$checked="checked";
}

if($search != "")
{
$svalue=$search;
}

$hits="0";

if(($action == "") or ($action == "search") or ($action == "help") or ($action == "formel"))
{
echo "<div align="center"><b>ChemSearch Alpha 1.8</b><br><br>
";

echo "<table cellspacing="4"><tr><td>
";
echo "<div align="center"><table><tr><td><table cellspacing="1"
";
echo "width="100" bgcolor="#000000"><tr><td bgcolor="$where1"><div align="center">
";
echo "<a href="index.php?action=search">Text</a></div></td></tr></table></td><td>
";
echo "<table cellspacing="1" width="100" bgcolor="#000000"><tr><td bgcolor="$where2">
";
echo "<div align="center"><a href="index.php?action=formel">Formel</a></div>
";
echo "</td></tr></table></td></tr></table></div></td></tr><tr><td>
";

echo "<div align="center">
";

if($action == "search")
{
echo "<form method="post" action="index.php?action=search"
";
}
else
{
echo "<form method="post" action="index.php?action=formel"
";
}

echo "name="chemsearch"><input type="text" name="search" value="$svalue">
";
echo "<input type="submit" value="Suche">";

if($action == "search")
{
echo "<table><tr><td>
";
echo "<input type="radio" name="meta" value="web" checked> Das Web</td>
";
echo "<td><input type="radio" name="meta" value="intern"> Intern
";
echo "<td></tr></table><input type="checkbox" name="check" value="exakt" $checked>
";
echo " Exakte Suche
";
}

echo "</form></div></div></td></tr></table>
";
}

if($action == "help")
{
echo "<div align="center"><table width="40%" cellspacing="1"
";
echo "cellpadding="0" bgcolor="#000000"><tr><td bgcolor="#ffffff">
";
echo "<table width="100%" cellspacing="4" cellpadding="0"><tr><td>
";
echo "<div align="justify">
";
include("hilfe.txt");
echo "</div></td></tr>
";
echo "</table></td></tr></table><br>";
include("bottom.txt");
exit;
}

if(($action == "search") and ($meta == "web"))
{
$number=strlen($search);
if($number <= "3")
{
echo "<div align="center"><table width="40%" cellspacing="1"
";
echo "cellpadding="0" bgcolor="#000000"><tr><td bgcolor="#ffffff">
";
echo "<table width="100%" cellspacing="4" cellpadding="0"><tr><td>
";
echo "<div align="center">Der von Ihnen eingegebene Suchbegriff ist
";
echo "zu kurz! Die minimale Länge sind vier Buchstaben.</div></td></tr>
";
echo "</table></td></tr></table><br>";
include("bottom.txt");
exit;
}
else
{
if(file_exists("web.txt"))
{
$entries=file("web.txt");

foreach($entries as $entry)
{
$entrydata=explode("|§|", $entry);
$edata=explode("+", $entrydata[3]);
foreach($edata as $data)
{
if($check == "exakt")
{
////////////////////////////hier steckt ein fehler
if($search == $data)
{
$hits++;
echo "<div align="center">
";
echo "<table cellspacing="1" width="40%" border="0">
";
echo "<tr><td width="2%" valign="top">$hits</td><td width="38%">
";
echo "<a href="$entrydata[0]">$entrydata[1]</a>:<br>
";
echo "<i>$entrydata[2]</i></td></tr></table><br></div>
";
}
}
else
{
if(eregi($search, $data))
{
$bgcolor="";
if($search == $data)
{
$bgcolor="#fof8ff";
}
$hits++;
echo "<div align="center">
";
echo "<table cellspacing="1" width="40%" border="0" bgcolor="$bgcolor">
";
echo "<tr><td width="2%" valign="top">$hits.</td><td width="38%">
";
echo "<a href="$entrydata[0]">$entrydata[1]</a>:<br>
";
echo "<i>$entrydata[2]</i></td></tr></table><br></div>
";
}
}
}
}

$result="Ergebnisse";
if($hits == "1")
{
$result="Ergebnis";
}
echo "<div align="center">" . $hits . " " . $result . " zum
";
echo "Suchbegriff "<b>" . $search . "</b>"</div><br>
";
}
else
{
echo "Fehler beim Lesen der Quelldatei.<br>";
include("bottom.txt");
exit;
}
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////

if($action == "formel")
{
$number=strlen($search);
if($number != "")
{
if($number <= "1")
{
echo "<div align="center"><table width="40%" cellspacing="1"
";
echo "cellpadding="0" bgcolor="#000000"><tr><td bgcolor="#ffffff">
";
echo "<table width="100%" cellspacing="4" cellpadding="0"><tr><td>
";
echo "<div align="center">Der von Ihnen eingegebene Suchbegriff ist
";
echo "zu kurz! Die minimale Länge sind zwei Buchstaben.</div></td></tr>
";
echo "</table></td></tr></table><br>";
include("bottom.txt");
exit;
}
}
if(file_exists("formeln.txt"))
{
$entries=file("formeln.txt");

foreach($entries as $entry)
{
$search=strtolower($search);
$entrydata=explode("|§|", $entry);
$edata=explode("+", $entrydata[2]);
foreach($edata as $data)
{
////////////////////////////hier steckt ein fehler
if($search == $data)
{
$hits++;
echo "<div align="center">
";
echo "<table cellspacing="1" width="40%" border="0">
";
echo "<tr><td width="2%" valign="top"></td><td width="38%">
";
echo "$entrydata[0]:<br>
";
echo "<i>$entrydata[1]</i></td></tr></table><br></div>
";
}
}
}
if(($hits == "0") and ($search != ""))
{
echo "Keine Formel für " . $search . " gefunden.<br><br>";
}
}
else
{
echo "Fehler beim Lesen der Quelldatei.<br>";
include("bottom.txt");
exit;
}
}

include("bottom.txt");

?>

die fehler stecken an den beiden gekennzeichneten stellen, ich hoffe ihr könnt mir helfen :)
danke,
Sirius
Mit Zitat antworten
  #2  
Alt 21.07.2002, 22:22:22
Ben20
Guest
 
Beiträge: n/a
Wie "äußern" sich die Fehler denn?


Falsch formatierte Ausgaben?
Fehlermeldungen (parse error)?
Mit Zitat antworten
  #3  
Alt 21.07.2002, 22:39:47
Sirius Sirius ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 19
die if abfrage hat einfach keine wirkung... nur bei je dem letzten eintrag in der textdatei funktioniert sie. :( kann es sein, dass sich if abfragen und foreach schleifen nicht vertragen?
danke :)
Mit Zitat antworten
  #4  
Alt 22.07.2002, 00:18:44
Ben20
Guest
 
Beiträge: n/a
Worans genau liegt kann ich Dir leider auch nicht sagen, an den Schleifen bzw. Abfragen wohl nicht. Ich vermute eher, dass es wohl irgendwie mit einer Variablen zusammen hängt, die nach jedem Durchlauf überschrieben wird (nur eben beim letzten nicht mehr, weils ja kein "danach" mehr gibt) und deshalb die Suche ins Leere läuft.
Mit Zitat antworten
  #5  
Alt 22.07.2002, 04:02:41
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
hi,

ich finde du solltest eine for schleife anstatt einer foreach schleife nutzen damit du immer eindeutig deklarierte variablen hast.

bsp.:

Code:
$j = 5;
$var = 'variable';
for($i = 0; $i < $j; $i++)
{
     echo 'dies ist '.$var.$i.'<br>';
}

P.S.: keine ganzen scripte posten. besser script in ein txt file speichern, auf den server uploade und nen link posten.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #6  
Alt 22.07.2002, 14:41:18
Sirius Sirius ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 19
schön und gut, das habe ich gemacht aber es funktioniert immer noch nich :(( könntest du dir vielleicht das script an der oben genannten stelle downloaden und nachschauen ob du den fehler findest? danke :)
Mit Zitat antworten
  #7  
Alt 22.07.2002, 15:28:00
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
der fehler ist doch gefunden. du musst eine for schleife nutzen, weil in deinem fall bei foreach alle vorigen variablen überschrieben werden.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #8  
Alt 22.07.2002, 17:12:57
Sirius Sirius ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 19
das hab ich ja gemacht, aber gehofen hats nix :(
Mit Zitat antworten
  #9  
Alt 22.07.2002, 21:14:02
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
hmm zeig doch mal bitte wie du es gemacht hast, vielleicht hast du einen kleinen fehler drin.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 23.07.2002, 15:55:20
Sirius Sirius ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 19
k, ich uppe es mal: http://www.harald-bartsch.de/suche/script.txt
ich hab nur den unteren teil mit der formelsuche geändert. wahrscheinlich hast du recht und ich hab irgendnen denkfehler drin :( vielleicht kannst du es nach deinen vorstellungen verbessern? danke :)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:10:24 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt