PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Script aus Internet


bergziege
24.01.2004, 00:48:40
Hallo, ich habe folgendes Problem.
Ich habe mir ein fertiges PHP Script aus dem Internet geholt, das ich nun mit minixampp testen möchte, mit deren Ausführung ich aber meine Probleme habe.

Folgender Sachverhalt:

Bei dem Script handelt es sich um eine Linkverwaltung, mit einer SQL Datenbank.
Im Instalationshinweis steht.

- config.php anpassen

schaut folgendermassen aus.


//Mysql-Datenbank
$dbhost = "localhost"; //meist localhost
$dbuser = ""; //MySql-User
$dbpass = ""; //MySql-Password
$dbname = ""; //Mysql-Datenbankname

//Tabellennamen

$tablelinks = "hp_links";
$tablekategorien = "hp_links_kategorien";
$tablebewertungen = "hp_links_bewertungen";
$tableoptions = "hp_links_optionen";
$tableuser = "hp_links_user";
$tablemelden = "hp_links_melden";
$tablebanner = "hp_links_banner";
$tablestyle = "hp_links_style";


?>


- dann alle Dateien hochladen auf den Server
- dann die Install.php ausführen.

Wenn ich das alles ausführe, dann heißt es "Datenbank nicht gefunden"



Was mache ich falsch??

Als absoluter Neuling, habe ich mich zwar schon ziemlich weit vorgewagt, aber auf eure Hilfe freue ich mich trotzdem.


Danke

NanoCyte
24.01.2004, 01:12:36
das sieht so aus, als ob der install.php die datenbank zum eintragen fehlt und die nicht erstellt wurde.

du führst die datei lokal auf deinem rechner aus? wie sieht es da mit mysql aus?
kannst du vielleicht nen bisschen mehr code aus der install.php posten ( besonders die stelle mit der Datenbank-Erstellung )?

bergziege
24.01.2004, 01:53:22
meinst du diesen Teil?


case "install":

include("config.php");

mysql_connect( "$dbhost", "$dbuser", "$dbpass") or die("konnte datenbankverbindung nicht herstellen");
@mysql_select_db( "$dbname") or die("datenabank nicht gefunden");

// --------------------------------------------------------
$erfolgreich = mysql_query ("
CREATE TABLE $tablelinks (
id int(11) NOT NULL auto_increment,
kat_id int(11) NOT NULL default '0',
filename varchar(255) NOT NULL default '',
beschreibung text NOT NULL,
linksfile varchar(255) NOT NULL default '',
links int(11) NOT NULL default '0',
banner varchar(255) default NULL,
datum varchar(140) default '0',
PRIMARY KEY (id)
);");

echo "<P align="center"><b><font face="Verdana" size="2">Tabelle $tablelinks erfolgreich erzeugt!</P>";

Beedle
24.01.2004, 08:29:30
Hast du auch die Daten korrekt eingetragen?

$dbhost = "localhost"; //meist localhost
$dbuser = "user"; //MySql-User
$dbpass = "passwort"; //MySql-Password
$dbname = "datenbankname"; //Mysql-Datenbankname

NanoCyte
24.01.2004, 11:03:04
also die verbindungsdaten stimmen soweit, der fehler liegt in der zeile
@mysql_select_db( "$dbname") or die("datenabank nicht gefunden");
da wird jetzt die DB ausgewählt, die gibts aber nicht.
in der config.php stehen die db-connect-daten? was steht denn da bei
$dbname = "/* was steht hier drin */";

meikel (†)
24.01.2004, 12:35:41
Original geschrieben von bergziege
Wenn ich das alles ausführe, dann heißt es "Datenbank nicht gefunden"
Was mache ich falsch??
Naja nicht direkt falsch: Du mußt selber vorher eine Datenbank erzeugen, weil das Installationsscript zwar die Tabellen anlegt aber nicht die Datenbank.

Das ist ein übliches Verfahren, weil 'normale' DB User keine globalen "Create" Rechte haben. Meist wird auch der DB Name vom Provider vorgegeben.

bergziege
24.01.2004, 13:23:27
Also unter $dbname habe ich nichts reingeschrieben, habs aber auch schon versucht hier "test" oder ähnliches geschrieben.
Habe aber hier in einer Antwort gelesen, daß ich die Datenbank selber anlegen muss. Jetzt wird mir auch klar, warum es nicht funktioniert.

jetzt kommt das nächste Problem, wie lege ich unter minixampp eine Datenbank an. Wahrscheinlich nicht, indem ich im Order SQL ein neues Verzeichnis erstelle und dem einen Namen gebe z.B. "TEST"

NanoCyte
24.01.2004, 13:53:44
also ich kenn mich mit minixampp nicht aus, aber meikel hat recht und ich wollte auch darauf raus, dass du eine DB erzeugen musst,

versuchs mal mit

mysql_connect( "$dbhost", "$dbuser", "$dbpass");
if (mysql_query("CREATE DATABASE test ;")) echo "Datenbank erstellt!";
wenn das true zurückgibt sollte die datenbank erstellt sein und du musst unter $dbname "test" einsetzen.

sollte da nichts kommen, dann musst du irgendwie anders versuchen, wenn du root bist, dann dürfte das erstellen kein prob sein.
wenn du das bei einem provider machst müsstest du dich mal nach den zugangsdaten erkundigen, um an deine MySQL-Datenbank ranzukommen.

Aber den benutzer scheinst du ja schon zu haben, weil er beim DB-auswählen abgemurkst ist, brauchst jetzt eigentlich nur noch den DB-namen...

bergziege
24.01.2004, 14:09:44
danke für eure tipps,

werds mal versuchen obs funktioniert, das Ergebnis werde ich wieder posten.

bergziege
24.01.2004, 15:24:26
Hallo NanoCyte,

die Erstellung der Datenbank mit deinem Code hat funktioniert.
Als nächstes sollte dann die install.php ausgeführt werden, aber hier erscheint die Meldung "Datenbankverbindung nicht gefunden"

NanoCyte
24.01.2004, 15:57:29
da fehlt dir sehr wahrscheinlich die richtigen angaben

ich geh davon aus, dass die install.php der oben gepostete code ist oder in welcher datei passiert der fehler?

eigentlich müsstest du die variablen $dbhost, $dbuser, $dbpass und $dbname richtig konfigurieren. überprüf die nochmal genau!

ausserdem darfst du den DB-erstellungscode nicht in der install.php stehen haben...

edit/ mein 50. post :)

bergziege
24.01.2004, 16:41:54
den DB Erstellungscode habe ich separat geschrieben und ausgeführt.

Die Variablen habe ich im config.php angepasst, (so stehts in der Anleitung)

und dann install.php ausühren, dort kommts zu der oben beschriebenen Fehlermeldung.


Da ich noch nicht allzulange mit PHP arbeite, habe ich mir wohl mit diesem Script eine zu große Aufgabe gestellt. Ich hoffe ich habe eure Geduld nicht allzusehr strapaziert. Wenn ichs jetzt nicht hinkriege, werde ich mich nochmal mit kleineren Sachen beschäftigen.
Wie gesagt, ich teste alles vorerst nur mit MINIXAMPP. Ist eine tolle Sache, braucht man zum Testen nicht gleich eine PHP fähigen Server mieten.

NanoCyte
24.01.2004, 16:53:17
nein, nein... du nervst nicht, solange du uns nicht als script-schreibdienst benutzt
nur weißt du wahrscheinlich nicht genau, was du uns geben müsstest

wieviel php kannst du denn schon?
wenn du willst, kannst du vielleicht mal nen tutorial für php machen (hab grad keine url zu einem guten, sorry - aber vielleicht ein anderer....)

bergziege
24.01.2004, 19:27:58
Original geschrieben von NanoCyte
nein, nein... du nervst nicht, solange du uns nicht als script-schreibdienst benutzt
nur weißt du wahrscheinlich nicht genau, was du uns geben müsstest

wieviel php kannst du denn schon?
wenn du willst, kannst du vielleicht mal nen tutorial für php machen (hab grad keine url zu einem guten, sorry - aber vielleicht ein anderer....)


du kannst beruhigt sein, ich benutze niemanden als schreibdienst, es ist bloß, weil ich das Script nicht zum laufen bringe, und weil ich mir das alles viel einfacher gedacht habe.


jetzt halte mich nicht für blöde, aber was genau ist "Tutorial".
ich habe das auf php seiten schon öfter gelesen, kann mir aber nicht genau erklären, um was es hier geht??

NanoCyte
24.01.2004, 19:56:29
also

was dir hier die schwierigkeiten bereiten sind mysql und das gehört so nicht 100 % zu PHP. PHP zu programmieren hat nicht viel mit MySQL zu tun in dem sinne, dass man die daten von dem mysql nur serviert bekommt und dann weiterarbeitet.
ich würde keinem anfänger empfehlen, gleich große MySQL-Operationen durchzuführen!

ein tutorial ist eine einführung in eine bestimmte sache anhand eines beispiels, dass man dann selbst nachmacht.

so ziemlich jedes PHP-Tutorial fängt mit dem Beispiel
<?php
echo "Hello World!";
?>
an (nur so als beispiel ;) )