PHP-Scripte ins Netz stellen

Alles, was PHP betrifft, kann hier besprochen werden.

PHP-Scripte ins Netz stellen

Postby casig » 22. November 2010 16:22

Ich habe nun mühsam PHP-Scripte mit Datenbankanbindung an MYSQL auf LocalHost zum Laufen gebracht. LocalHost war aber nur Testumgebung. Der Upload der Scripte auf den Server meines Web-Providers und nachfolgender Scriptaufruf brachte natürlich sofort eine Fehlermeldung: Error 403 Zugriff verboten! An welchen Schräubchen muß ich drehen? Die Ausführungen in meinem PHP-Buch sind hier nicht ergiebig.
casig
 
Posts: 20
Joined: 19. October 2010 18:02

Re: PHP-Scripte ins Netz stellen

Postby Altrea » 22. November 2010 16:31

Um diese Frage zu beantworten, bedürfen wir deutlich mehr Informationen über deine Scripte und deinen Hoster.
Ein Error 403 heißt ja nichts anderes, als dass dein Webserver vom Hoster deine Anfrage auf Grund von Zugriffsregeln zurückgewiesen hat. Da können wir dann auchnur ins blaue Raten was es denn sein könnte.

Solange du keine Möglichkeit hast in die (error-)Logfiles des Webservers deines Hosters zu schauen, bleibt das erstmal ein Rätselraten.

Nutzt dein Script irgendeine .htaccess Authentifizierung?
Nutzt dein Script irgendwelche lokalen Verzeichnisse um Dateien auf dem Server abzulegen?
Nutzt dein Script irgendeine Form von Umleitung (redirect) oder URL-manipulation (mod_rewrite)?

Erzähl uns am besten mal alles, was dir zu deinem Script einfällt.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6762
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: PHP-Scripte ins Netz stellen

Postby Nobbie » 22. November 2010 19:50

casig wrote:An welchen Schräubchen muß ich drehen?


Vorne links die, eine halbe Drehung im Uhrzeigersinn.
Nobbie
 
Posts: 6919
Joined: 09. March 2008 13:04

Re: PHP-Scripte ins Netz stellen

Postby Altrea » 22. November 2010 19:55

Nobbie wrote:Vorne links die, eine halbe Drehung im Uhrzeigersinn.


Erzähl ihm doch nicht all unsere geheimen Tricks :shock:
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6762
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: PHP-Scripte ins Netz stellen

Postby casig » 22. November 2010 20:38

Eigentlich nichts kompliziertes:

Datenbank öffnen, Daten auslesen und Webformular zur Verfügung stellen, über FORM Action Formulardaten an zweites Script übergeben, erneute Datenbankabfrage, Ergebnis in HTML-Tabelle ausgeben, daneben auch Ausgabe von JScript-Code, um auf Benutzeraktionen reagieren zu können, dazu Parameterübergabe per URL-Parameter an weitere Webseite zur Aktivierung eines Audiogerätes über OBJECT

Nichts von dem, was Du aufgeführt hast.

Mein Provider hat mir im Vorfeld Datenbankname, Hostname, Port, Nutzer-ID zugewiesen, womit ich dann auch den Zugriff auf die Datenbank im Script-Code eingestellt habe.

Beim Upload der Scripte konnte ich durch Rechtsclick auf Scriptname Rechte ändern wie folgt:

Besitzer lesen ja, schreiben ja, ausführen ja
Gruppe ja, nein, ja
andere ja, nein, ja

Ist das aussagekräftig?
casig
 
Posts: 20
Joined: 19. October 2010 18:02

Re: PHP-Scripte ins Netz stellen

Postby WilliL » 22. November 2010 22:28

nicht wirklich, ist genau so aussagekräftig:
ich mache das gkeiche wie du auch, bei mir geht es.

Ist z.B.eine datei mit dem Namen ".htaccess" in dem Ordner, in dem dein Script liegt? (bzw. in einem vorher liegenden Ordner?)
Wenn ja, was steht da drin?
Willi
WilliL
 
Posts: 628
Joined: 08. January 2010 10:54
XAMPP Version: 5.5.19
Operating System: Win7Home Prem 64 SP1

Re: PHP-Scripte ins Netz stellen

Postby Nobbie » 22. November 2010 23:07

casig wrote:Ist das aussagekräftig?


Nö.
Nobbie
 
Posts: 6919
Joined: 09. March 2008 13:04

Re: PHP-Scripte ins Netz stellen

Postby casig » 23. November 2010 07:05

Ich dachte bisher, dass, wenn im Basisverzeichnis eine INDEX-Datei sich befindet, diese dann ausgeführt wird, sofern im Browser das Basisverzeichnis ausgewählt wird. Dies war mein Fehler. Also Adresse vollständig, auch meine Scripte laufen. Doch nur ein kleines Schräubchen rechts! Bis dahin!
casig
 
Posts: 20
Joined: 19. October 2010 18:02

Re: PHP-Scripte ins Netz stellen

Postby Nobbie » 23. November 2010 11:09

casig wrote:Ich dachte bisher, dass, wenn im Basisverzeichnis eine INDEX-Datei sich befindet, diese dann ausgeführt wird, sofern im Browser das Basisverzeichnis ausgewählt wird.


Das ist eine Frage der Apache Konfiguration, die Direktive nennt sich "DirectoryIndex". Hat aber mit dem Basisverzeichnis nichts zu tun, dieses Verhalten ist für jedes Verzeichnis gültig (wenn man es global definiert).
Nobbie
 
Posts: 6919
Joined: 09. March 2008 13:04

Re: PHP-Scripte ins Netz stellen

Postby casig » 25. November 2010 18:41

Es wär zu schön, würde nach meinem ersten Problem alles laufen. Nun mißlingt der Zugriff auf die Datenbank.
Die Ausgabe des Status der Verbindung
$verb=mysql_connect("db.1und1.de","",""); //Jedermann soll Zugriff erhalten
echo $verb.'!!!!!<br>';
erzeugt lediglich die Ausrufezeichen, weder Resource-ID noch Fehlermeldung erscheint.

Was tun?
casig
 
Posts: 20
Joined: 19. October 2010 18:02

Re: PHP-Scripte ins Netz stellen

Postby Altrea » 25. November 2010 18:55

casig wrote:verb=mysql_connect("db.1und1.de","",""); //Jedermann soll Zugriff erhalten

Du missverstehst das Prinzip der Datenbank. Letztendlich benötigt niemand direkt Zugriff auf die Datenbank außer deine PHP Scripte, denn darüber läuft die komplette Kommunikation. Und dafür musst du mindestens einen Benutzernamen angeben (der natürlich in dem DBMS auch existieren muss). Deine User interagieren lediglich mit den PHP-Dateien, vornehmlich mit Formularen oder URL-Parametern. Sie verbinden sich also nie direkt mit der Datenbank, außer du möchtest, dass ein anderer User deine Datenbank mit administriert.
Ist der Datenbank-Host "db.1und1.de" korrekt? Hat dir dein Hoster diese Daten mitgeteilt? Wenn ja, dann hat er dir sicher auch eine Benutzername und Passwort Kombination mitgeteilt.

casig wrote:weder Resource-ID noch Fehlermeldung erscheint.

Vollkommen logisch. Die Ressource-ID wird nicht ausgegeben, weil keine Verbindung zustande gekommen ist. Informiere dich über die Rückgabewerte von mysql_connect() (vorallem bei fehlgeschlagenen Verbindungsversuchen)
Und die zweite Falschannahme die du machst ist, dass die Funktion automatisch eine Fehlermeldung zurückgibt, wenn keine Verbindung zustande kommt. Doch das tut die Funktion nicht. Die Funktion würde sich nur melden, wenn du sie selbst falsch verwendest. Ein fehlgeschlagener Datenbankverbindungsversuch ist erstmal eine erfolgreiche ausführung dieser Funktion. Für PHP ist also alles in Ordnung.
Du solltest dich über PHP Fehlerbehandlung in Verbindung der mysql-Funktionen informieren. Wenn du dir mysql_error() ansiehst findest du sogar ein vollständiges Beispiel. Generell ist PHP sehr gut dokumentiert. Du solltest dich mit der Documentation auf php.net vertraut machen (vorallem verstehen wie du dort etwas findest und wie die Beschreibungen dort zu lesen sind)
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6762
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: PHP-Scripte ins Netz stellen

Postby casig » 26. November 2010 10:52

Danke für die Erhellung (ein Hinweis von mir: beim Import der Tabellen über PHPAdmin des Providers wurden die Namen der Tabellen ohne Hinweis umgeschrieben, aus Großbuchstaben wurden Kleinbuchstaben gemacht, daran denkt man auch nicht, oder?) Hierzu erst einmal keine Fragen mehr.

Eine andere Geschichte: Ist PHP eigentlich auch dazu geeignet, um Binärdateien wie Bilder beispielsweise auszuwerten (konkret ist eine bestimmte Farbe in einem Bild enthalten)?
casig
 
Posts: 20
Joined: 19. October 2010 18:02

Re: PHP-Scripte ins Netz stellen

Postby Altrea » 26. November 2010 11:31

casig wrote:beim Import der Tabellen über PHPAdmin des Providers wurden die Namen der Tabellen ohne Hinweis umgeschrieben, aus Großbuchstaben wurden Kleinbuchstaben gemacht, daran denkt man auch nicht, oder?

Daran muss man auchnicht denken, wenn man sich an die best practice hält, Datenbanken, Datenbanktabellen und Spaltennamen einheitlich (entweder alles in Großbuchstaben oder alles in Kleinbuchstaben) zu definieren. So sparst du dir eine Menge Gehirnschmalz. Halte dich an das Konzept "Don't make me think". Je weniger Hintergrundwissen ein Entwickler benötigt, desto effizienter gestaltet sich auch die Entwicklung. Da sollte man nicht auchnoch über Groß-/Kleinschreibung nachdenken müssen. Und nebenbei umgehst du solche Fehlerquellen bei der Portierung.

casig wrote:Eine andere Geschichte: Ist PHP eigentlich auch dazu geeignet, um Binärdateien wie Bilder beispielsweise auszuwerten (konkret ist eine bestimmte Farbe in einem Bild enthalten)?

PHP selbst bietet bestimmte Image Funktionen an. Eine davon wäre imagecolorat(). Damit kannst du den Farbwert eines einzelnen Bildpunktes ermitteln. Um also den dominanten Farbton eines Bildes herauszubekommen müsstest du jeden (oder zumindest eine ausreichend große Stichprobenanzahl) Bildpunkt auslesen, interpretieren (!!!) und dann am Ende einen Durchschnittswert oder etwas ähnliches daraus bilden. Ob das sonderlich performant ist wage ich mal zu bezweifeln.
Eine andere Möglichkeit ist mir mit reinen PHP Mitteln nicht bekannt. Ansonsten schau dir mal imagemagick an. Damit ist so ziemlich alles möglich was Bildmanipulation betrifft.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6762
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64


Return to PHP

Who is online

Users browsing this forum: No registered users and 5 guests