• 26.08.2025, 16:13
  • Registrieren
  • Anmelden
  • Du bist nicht angemeldet.

 

Crush

Full Member

Hilfe bei php-script

Mittwoch, 28. Juni 2006, 01:08

Guten Abend,
ich möchte mir folgendes PHP-Script bauen:
In einem geschützten Bereich soll es die Möglichkeit geben einfach nur Links zu posten die dann auf der Startseite angezeigt werden. In der Linkbeschreibung steht in Klammern dahinter die Kategorie, das System soll dann prüfen ob die Kategorie vorhanden ist und den Link auf dieser Kategorieseite einbinden oder eine Kategorie dafür erstellen. Die Kategorien die dann zu den Links führen sollten zudem als Navigation erstellt werden.

Ich weiß allerdings überhaupt nicht wie ich bei diesem Script anfangen soll, ich würde mich über eure Hilfe freuen

PS: Ich habe kein Script gefunden dass meien Anforderung erfüllt, zudem sollen wirklich nur die Links dort stehen denn es sollen über 10000 Links online gestellt werden

Ich freue mich auf eure Antworten, vielen Dank

Scorci

Shoggy

Sven - Admin

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 01:25

Keine Ahnung ob ich es ichtig verstanden habe *g*

Ich würde erstmal eine Datenbank mit zwei Tabellen anlegen.

1: ID, Link, Kategorie-ID
2: ID, Kategorie-Name

In der ersten hast du nur die Links und in der zweiten die Kategorie.

Für das Eingabeformular liest du dann in der zweiten Tabelle die Kategorien aus und lässt diese als Dropdown-Menü einblenden. Dadurch stellst du sicher, dass bereits vorhandene Kategorieren genutzt werden.
Alternativ gibt's dann noch ein Feld in dem man eine eigene Kategorie eintragen kann.
Dann natürlich noch ein Feld für den Link selbst.

Wenn das jetzt abgesendet wird müsstest du prüfen ob eine bereits vorhandene Kategorie gewählt wurde oder ob jemand eine neue eingetragen hat. Ist etwas neues dabei soll es in die zweite Tabelle eingetragen werden.
In der ersten Tabelle wiederum landet der Link sowie die ID der Kategorie.

Wenn du das wieder ausliest verknüpfst du beide Tabellen und kommst über die ID wieder an die Kategorie.

Du könntest die erste Tabelle noch um Datum/Uhrzeit erweitern oder evtl. sogar einen Counter. Damit könnte man dann Spielerien erstellen a la 'die neusten Links der letzten 5 Tage' oder 'die meistbesuchten Adressen' usw.

Soweit das ganze mal als grober Aufbau. Evtl. hilft es dir weiter.

Y0Gi

God

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 02:02

Du könntest das insofern aufteilen, als dass du der Maske zum Hinzufügen von Links ein festes Dropdown mit Kategorien übergibst, so dass man nur eine der bestehenden wählen kann. Zudem verlinkst du auf ein weiteres Formular, über das man Kategorien hinzufügen kann. So verhindert man durch Tippfehler o.ä., dass mehrere Kategorien angelegt werden, die eigentlich die selbe sein sollten.

Den geschützten Bereich könntest du einfach durch Basic-Auth über eine .htaccess-Datei realisieren.

Weiterer Tipp: http://www.php-faq.de/

Crush

Full Member

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 02:18

Vielen Dank für eure schnellen Antworten.
Ich habe mit Hilfe des Links nun bereits ein Login Script geschaffen.

Das Problem ist bei euren Vorschlägen jedoch dass ca 50 Links pro Tag ergänzt werden sollen so dass eine manuelle Kategorieanwahl sehr aufwendig wäre da die Links nur kopiert werden.

Ich komme zudem bei den restlichen Punkten nicht weiter :'(

Habt ihr noch Tipps?

Vielen Dank
Scorci

Shoggy

Sven - Admin

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 02:32

Wieso manuell? Die genannte Lösung macht's dir und deinen Besuchern ja richtig einfach da sie die Kategorie einfach nur auswählen müssen. Du musst doch da im Endeffekt selber keinen einzigen Finger krumm machen oder wo siehst du das Problem?

edit: ahh, soll heissen das sieht eher so aus

"http://www.formel1.de (Sport)"

Ja? Wenn dem so ist müsstest du die Zeichen in der Klammer auslesen und wieder einsortieren bzw. anlegen falls noch nicht vorhanden. Vom Grundprinzip würde sich da nichts ändern ausser, dass die Verarbeitung nach dem Absenden anders abläuft.

Crush

Full Member

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 03:00

Hallo Shoggy,
genau von diese Form also:

Quellcode

1
<a href:="Link">Titel(Kategorie)</a>


Das Script müsste also nur die neusten Links anzeigen und sie zusätzlich in Kategorien einsortieren wo sie nur als verlinkter Titel untereinander stehen, "mehr nicht".

Vllt. könnte mir jmd dies im groben vorcoden?


Vielen Dank
Scorci

Clark

God

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 12:39

nö, vorcoden is net ;)


aber nen tipp:

Quellcode

1
2
3
4
5
6
7
8
9
preg_split --  Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks 
Beschreibung
array preg_split ( string Suchmuster, string Zeichenkette [, int Limit [, int Flags]] )



Gibt ein Array zurück, das aus Teilketten der an den mit Suchmuster übereinstimmenden Trennsymbolen zerlegten Zeichenkette besteht. 

Falls Limit angegeben wurde, werden maximal Limit Teilketten zurückgegeben und falls Limit -1 ist, bedeutet das "kein Limit", was für die Angabe von Flags sinnvoll ist.

das würde ich dir dafür empfehlen.
c++: The power, elegance and simplicity of a hand grenade.

Y0Gi

God

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 13:38

Hab ich das richtig verstanden, dass die Links als Strings kopiert und eingefügt werden und dabei bereits die Kategorie in Klammern enthalten? Ist der Teil davor dann der Linktitel oder die URL oder beides? Kannst du mal ein Beispiel geben?

Dann müsstest du eben die auseinanderfriemeln (ich würde preg_match verwenden), so dass du Linktitel, -URL sowie Kategorie in einzelnen Variablen hast.

Bzgl. der Kategorie könntest du erst ein

Quellcode

1
2
3
SELECT id
FROM `categories`
WHERE title = 'Eine Kategorie';

machen. Werden keine Datensätze geliefert, fügst du die neue Kategorie per INSERT ein und holst dir die ID (im Falle von MySQL mit mysql_insert_id()). Andernfalls bekommst du die ID. Damit kannst du jetzt den Link in die Link-Tabelle einfügen und dabei die Kategorie-ID als Fremdschlüssel mit übergeben.

Wichtig: Sorge umbedingt dafür, dass kein SQL-Injection möglich ist, indem du die vom Benutzer eingefügten Werte überprüfst/prüfen lässt.
Wenn du magst, benutze doch meinen Database Abstraction Layer für MySQL in PHP. Damit kannst du zum einen etwas von MySQL abstrahieren, bekommst eine deutlich komfortablere Zugriffsmöglichkeit auf Tabellen und kannst zudem Platzhalter mit Auto-Escaping der Parameter benutzen. Sowas kann ich wirklich dringend empfehlen.

Eine Liste der Kategorien zu beziehen und diese als Liste von Links auszugeben, sollte nicht das Problem sein. Diese Links verweisen auf ein entsprechendes Script und übergeben die Kategorie-ID als (GET-)Parameter, worauf das Script ein

Quellcode

1
2
3
SELECT id, url, title
FROM `links`
WHERE category_id = 123;

absetzt und die gefundenen Links ausgibt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Y0Gi« (22. Januar 2013, 04:21)

Crush

Full Member

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 18:19

Vielen Dank für eure Hilfe, ich hab das Script jetzt größtenteils fertig.

Ich sitze jetzt noch an folgendem Problem:
Wie kann ich das System Links entfernen lassen die älter als 90 Tage sind? Das Auslesen des Eintragsdatum ist kein Problem da dieses beim eintragen automatisch in die DB eingetragen wird

Jemand eine Idee?

vielen Dank
Scorci

hurra

God

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 19:07

Quellcode

1
DELETE FROM tabelle WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(datum))<=7776000;


tabelle is die Tabelle, die das Datum enthält.
datum ist halt das Eintragsdatum.
7776000 sind die Sekunden, die 90 Tagen entsprechen (90*24*60*60)

Cu hurra

E: Keine Garantie auf Richtigkeit, eventuell vorher mal anstatt dem DELETE mit nem SELECT versuchen (zu Testzwecken).

Y0Gi

God

Re: Hilfe bei php-script

Mittwoch, 28. Juni 2006, 19:21

MySQL hat mit Version 4.1 einige neue Funktionen erhalten, insbesondere auch zum Umgang mit Daten/Zeiten: http://dev.mysql.com/doc/refman/4.1/en/d…-functions.html
Die Funktion ADDTIME() könnte hier hilfreich sein, um die Queries zu vereinfachen.

Bleibt die Frage, wann du das aufrufen möchtest. Bei jedem Page Hit ist möglicherweise zuviel des Guten. Da Tage als Einheit verwendet werden, würde also ein Aufruf pro Tag genügen. Dies könnte man entweder manuell (etwas größere Abstände wie 2-3 Mal pro Woche reichen ja vielleicht auch) durch einen Klick auf einen entsprechenden Formular-Button (per POST absenden, nicht GET!!!) durchführen. Alternativ, zuverlässiger und technisch etwas umständlicher, könntest du einen Cronjob einrichten, der z.B. mit wget oder lynx ein entsprechendes Script auf dem Webserver aufruft.

Crush

Full Member

Re: Hilfe bei php-script

Donnerstag, 29. Juni 2006, 16:38

Hallo,
ich muss mich leider noch mal melden.

Ich habe das Script jetzt fertig gestellt und es funktioniert auf meinem lokalen Webserver wunderbar. Jetzt habe ich das Script bei freehostia.com sowie awardspace.com getestet und bei beiden Webspaceanbietern kann das Script die Links aus der Datenbank auslesen aber es kann keine Links eintragen. Wenn ich die Links manuell eintrage über php my admin funktioniert das auslesen wunderbar....

Ich habe jetzt schon ca 20 erfahrene Coder mit dem Problem genervt doch niemand konnte mir helfen

Vielleicht könnt ihr mir bei diesem komplizierten Fall noch mal helfen

Ich würde mich über eure Hilfe freuen

Vielen Dank
Scorci

TheJoker

God

Re: Hilfe bei php-script

Donnerstag, 29. Juni 2006, 18:11

Poste doch einfach mal was du da gecodet hast.

Wenns sogar phpmyadmin schafft dann muss mans durch selber programmieren ja auch hinkriegen ;D
C programmers never die. They are just cast into void. Neues moddingtech.de Portal online!

Y0Gi

God

Re: Hilfe bei php-script

Freitag, 30. Juni 2006, 13:48

Die Programmversionen von PHP und evtl. anderer Software sind auch möglicherweise wichtig.