Thread Author: DarkLevi
Thread ID: 2421
Thread Info
Es gibt 18 Beiträge zu diesem Thema, und es wurde 8777 mal angesehen.
Wer ist hier? 1 Gäste
 Thema drucken
Eigene Infusion, DB wird nicht erstellt
DarkLevi
hi,

ich hab wiedermal auf grundlage einer infusion von basti versucht eine eigene zu basteln.

ich hab das schon einmal gemacht mit einer zweiten artikel-seite und da hats wunderbar funktioniert.

nun geht es um einen online-shop, aber wie gesagt werden die db's wieder einmal nicht erstellt

wär echt klasse wenn mal jemand von euch drüberschauen könnte

das is die infusion_v7.php:

[geshi=php]if (!defined("IN_FUSION") || !checkrights("I")) { die("Access Denied"); }

$inf_newtable[1] = DB_SHOP_USERS." (
user_name VARCHAR(100) NOT NULL DEFAULT '',
user_last_name VARCHAR(100) NOT NULL DEFAULT '',
user_email VARCHAR(100) NOT NULL DEFAULT '',
user_delivery VARCHAR(100) NOT NULL DEFAULT '',
user_delivery_code INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
user_postal MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
user_city VARCHAR(100) NOT NULL DEFAULT '',
user_state VARCHAR(100) NOT NULL DEFAULT '',
PRIMARY KEY (user_name)
) TYPE=MyISAM;";

$inf_newtable[2] = DB_SHOP_BUY." (
article_id INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
article_price INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
article_name TEXT NOT NULL,
article_description TEXT NOT NULL,
article_img_url TEXT NOT NULL,
article_mws INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
article_delivery INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
article_complete INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (article_id)
) TYPE=MyISAM;";

$inf_droptable[1] = DB_SHOP_USERS;
$inf_droptable[2] = DB_SHOP_BUY;

$inf_adminpanel[1] = array(
"title" => $locale['704'],
"image" => "shop.gif",
"panel" => "admin/shop_admin.php",
"rights" => "OS"
);

$inf_sitelink[1] = array(
"title" => $locale['704'],
"url" => "shop.php",
"visibility" => "0"
);

?>[/geshi]

und hier die infusion.php:

[geshi=php]if (!defined("IN_FUSION") || !checkrights("I")) { die("Access Denied"); }

require_once INFUSIONS."shop/infusion_db.php";

// Load locale file
if (file_exists(INFUSIONS."shop/locale/".$settings['locale'].".php")) {
include INFUSIONS."shop/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."shop/locale/English.php";
}

// Infusion general information
$inf_title = "Shop";
$inf_version = "1.0";
$inf_developer = "Clemens Drieschner";
$inf_email = "clemens.drieschner@t-online.de";
$inf_weburl = "";

$inf_folder = "shop";

// PHP-Fusion version check
require_once INFUSIONS."shop/includes/check_version.php";


// Load Database information; v7 Compatibility
switch(UCC_PHPF_VER) {
case 7:
require_once INFUSIONS."shop/infusion_v7.php";
break;
default:
redirect(INFUSIONS."shop/admin/error.php?id=3");
}

?>[/geshi]


ich denke mal die infusion_db.php und die check_version.php kann ich mir sparen

vielen dank im vorraus

Gruß
DarkLevi
 
SC-Ad-Bot
 
emblinux
sind denn in der infusion_db.php auch alle Tabellen richtig definiert?

Ausserdem werden die Tabellen auch nicht erstellt, wenn die oder andere mit gleichem namen, schon vorhanden sind. Bitte das auch mal prüfen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
DarkLevi
Zitat emblinux schrieb:
sind denn in der infusion_db.php auch alle Tabellen richtig definiert?


japp sind sie

EDIT: zur vollständigkeit:
infusion_db.php:
[geshi=php]<?php
if (!defined("DB_SHOP_USERS")) {
define("DB_SHOP_USERS", DB_PREFIX."shop_users");
}

if (!defined("DB_SHOP_BUY")) {
define("DB_SHOP_BUY", DB_PREFIX."shop_sold");
}

?>[/geshi]

Zitat emblinux schrieb:Ausserdem werden die Tabellen auch nicht erstellt, wenn die oder andere mit gleichem namen, schon vorhanden sind. Bitte das auch mal prüfen.


das hört sich doch ma gut an, naja sowas wie "user_name" kommt natürlich in der php-fus eigenen DB_USERS vor, aber diese beiden von mir haben ja damit nichts zu tun da das ja eigene sind, kann des trotzdem zu problemen führen?
Bearbeitet von DarkLevi am 15.02.2010 um 20:22
 
emblinux
Ich meinte nicht Feldnamen, sondern Tabellennamen.

Welcher Tabellen-Name verbirgt sich hinter: DB_SHOP_USERS bzw. DB_SHOP_BUY ?

Als kleine Hilfestellung, würde ich einfach das redirect in der infusion.php aus dem Ordner administration auskommentieren, damit evtl. Fehler angezeigt werden. Manchmal hilft das schon. Manchmal liegt es auch an schon bereits vorhandenen Admin-Rechten. Auch das mal prüfen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
DarkLevi
Zitat emblinux schrieb:
Ich meinte nicht Feldnamen, sondern Tabellennamen.


jetzt warst m tick schneller als ich, hab die infusion_db.php oben noch gepostet

btw: danke schonmal für die rasante hilfe, find ich echt super
 
DarkLevi
hatte ich ja am anfang, nur nachdem des nicht funktioniert hat, bin ich wieder auf die vom Schüssler Sebastian geschriebene version mit der check_version.php übergegangen und nachdem das auch net funtzt bin ich hier hilflos
 
DJHardcastle
Ich muß mich mal hier dranhängen... hab ein ähnliches Problem... es werden keine Tabellen erstellt.

Habe die infusion.php und infusion_db.php auf dem SDK genommen... und ich hab schon probiert, die SQL-Befehle direkt in phpmyadmin auszuführen... alle funktionieren.

Kann man den Infusionsvorgang irgendwie debuggen? Es kommt ja keine Fehlermeldung... die Infusion is einfach drin... nur die Tabellen sind nich da.
Die sind auch noch nicht vorher angelegt. Hab ich auch geprüft... nach der per-Hand-Installation hab ich sie wieder gelöscht.

Zitat Ausserdem werden die Tabellen auch nicht erstellt, wenn die oder andere mit gleichem namen, schon vorhanden sind. Bitte das auch mal prüfen.
Das fängt er doch aber mit dem
[geshi=php]
$inf_droptable[1] = DB_SHOP_USERS;
$inf_droptable[2] = DB_SHOP_BUY;[/geshi] vorher ab, oder?
Bearbeitet von DJHardcastle am 20.02.2010 um 18:49
 
emblinux
Zitat Als kleine Hilfestellung, würde ich einfach das redirect in der infusion.php aus dem Ordner administration auskommentieren, damit evtl. Fehler angezeigt werden. Manchmal hilft das schon.

Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
DJHardcastle
Zitat MarcusG schrieb:
Zitat DJHardcastle schrieb:
Zitat Ausserdem werden die Tabellen auch nicht erstellt, wenn die oder andere mit gleichem namen, schon vorhanden sind. Bitte das auch mal prüfen.
Das fängt er doch aber mit dem
[geshi=php]
$inf_droptable[1] = DB_SHOP_USERS;
$inf_droptable[2] = DB_SHOP_BUY;[/geshi] vorher ab, oder?


Unter $inf_droptable werden die Tabellen aufgeführt, welche bei der De-Infusion gelöscht werden sollen.
hmm... dann hab ich das falsch verstanden. Ok. Danke für die Infoi.
Zitat Damit wir nicht herumraten müssen. wäre die infusion.php hilfreich.

Das ist sie:
[geshi=php]
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| H.A.S. Radio Controller v1.0 for PHP-Fusion 7
| infusion.php
| Copyright © 2008 Burkhard Riedel (Hardcastle)
| djhardcastle@web.de
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

include INFUSIONS."has_radio-controller/infusion_db.php";

// Check if locale file is available matching the current site locale setting.
if (file_exists(INFUSIONS."has_radio-controller/locale/".$settings['locale']."/admin.php")) {
// Load the locale file matching the current site locale setting.
include INFUSIONS."has_radio-controller/locale/".$settings['locale']."/admin.php";
} else {
// Load the infusion's default locale file.
include INFUSIONS."has_radio-controller/locale/German/admin.php";
}

// Infusion general information
$inf_title = $locale['hasrc_title'];
$inf_description = $locale['hasrc_desc'];
$inf_version = "1.0";
$inf_developer = "H.A.S.";
//$inf_email = "djhardcastle@web.de";
$inf_weburl = "http://";

$inf_folder = "has_radio-controller"; // The folder in which the infusion resides.

// Delete any items not required below.
$inf_newtable[1] = HASRC_SENDUNGEN." (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
kurzname VARCHAR(25) UNSIGNED DEFAULT '' NOT NULL,
langname VARCHAR(40) DEFAULT '' NOT NULL,
kurztext TEXT DEFAULT '' NOT NULL,
langtext TEXT DEFAULT '' NOT NULL,
moderator VARCHAR(30) DEFAULT '' NOT NULL,
bildgross VARCHAR(100) DEFAULT '' NOT NULL,
bildklein VARCHAR(100) DEFAULT '' NOT NULL,
wochentag VARCHAR(12) DEFAULT '' NOT NULL,
startzeit VARCHAR(5) DEFAULT '' NOT NULL,
startseite VARCHAR(1) DEFAULT '' NOT NULL,
special VARCHAR(1) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

$inf_newtable[2] = HASRC_TEAM." (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
userid VARCHAR(5) UNSIGNED DEFAULT '' NOT NULL,
streamid VARCHAR(15) DEFAULT '' NOT NULL,
sp_name VARCHAR(15) DEFAULT '' NOT NULL,
stream_name VARCHAR(15) DEFAULT '' NOT NULL,
msn VARCHAR(50) DEFAULT '' NOT NULL,
msn_stream VARCHAR(1) DEFAULT '' NOT NULL,
icq VARCHAR(12) DEFAULT '' NOT NULL,
icq_stream VARCHAR(1) DEFAULT '' NOT NULL,
yahoo VARCHAR(15) DEFAULT '' NOT NULL,
yahoo_stream VARCHAR(1) DEFAULT '' NOT NULL,
team_mail VARCHAR(30) DEFAULT '' NOT NULL,
telefon VARCHAR(20) DEFAULT '' NOT NULL,
handy VARCHAR(20) DEFAULT '' NOT NULL,
strasse VARCHAR(50) DEFAULT '' NOT NULL,
ort VARCHAR(50) DEFAULT '' NOT NULL,
sp_bild VARCHAR(30) DEFAULT '' NOT NULL,
st_bild VARCHAR(30) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

$inf_newtable[3] = HASRC_STREAM." (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
ip VARCHAR(30) UNSIGNED DEFAULT '' NOT NULL,
port VARCHAR(5) DEFAULT '' NOT NULL,
pw VARCHAR(20) DEFAULT '' NOT NULL,
typ VARCHAR(1) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

$inf_newtable[4] = HASRC_SETTING." (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
gruppe VARCHAR(25) UNSIGNED DEFAULT '' NOT NULL,
wochentag VARCHAR(12) DEFAULT '' NOT NULL,
startzeit VARCHAR(5) DEFAULT '' NOT NULL,
startseite VARCHAR(1) DEFAULT '' NOT NULL,
special VARCHAR(1) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

$inf_newtable[5] = HASRC_GRUPPEN." (
id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
gruppe VARCHAR(30) UNSIGNED DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

$inf_newtable[6] = HASRC_BOX." (
`box_id` smallint(5) unsigned NOT NULL auto_increment,
`box_datum` varchar(50) NOT NULL default '-',
`box_name` varchar(50) NOT NULL default '-',
`box_titel` varchar(100) NOT NULL default '-',
`box_interpret` varchar(100) NOT NULL default '-',
`box_gruss` text NOT NULL,
`box_ip` varchar(200) NOT NULL default '0.0.0.0',
`dj` varchar(30) NOT NULL,
`bereit` char(1) NOT NULL,
`ok` char(1) NOT NULL default '0',
`halt` char(1) NOT NULL default '0',
`nein` char(1) NOT NULL,
PRIMARY KEY (`box_id`)
) TYPE=MyISAM DEFAULT CHARSET=utf8;";

// $inf_insertdbrow[1] = DB_INFUSION_TABLE." (field1, field2, field3, field4) VALUES('', '', '', '')";

// $inf_droptable[1] = DB_INFUSION_TABLE;

// $inf_altertable[1] = DB_INFUSION_TABLE." ADD etc";

// $inf_deldbrow[1] = "other_table";

$inf_adminpanel[1] = array(
"title" => $locale['hasrc_admin1'],
"image" => "has_panels.gif",
"panel" => "has_radio_admin.php",
"rights" => "HARC"
);

$inf_sitelink[1] = array(
"title" => $locale['hasrc_link1'],
"url" => "has_team-member_panel.php",
"visibility" => "101"
);
?>[/geshi]
und die Infusion_db.php dazu:
[geshi=php]<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| H.A.S. Radio Controller v1.0 for PHP-Fusion 7
| infusion_db.php
| Copyright © 2008 Burkhard Riedel (Hardcastle)
| djhardcastle@web.de
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if (!defined("HASRC_SENDUNGEN")) { define("HASRC_SENDUNGEN", DB_PREFIX."hasrc_sendungen");}
if (!defined("HASRC_TEAM")) { define("HASRC_TEAM", DB_PREFIX."hasrc_team");}
if (!defined("HASRC_STREAM")) { define("HASRC_STREAM", DB_PREFIX."hasrc_stream");}
if (!defined("HASRC_SETTING")) { define("HASRC_SETTING", DB_PREFIX."hasrc_setting");}
if (!defined("HASRC_GRUPPEN")) { define("HASRC_GRUPPEN", DB_PREFIX."hasrc_gruppen");}
if (!defined("HASRC_BOX")) { define("HASRC_BOX", DB_PREFIX."hasrc_grussbox");}


?>
[/geshi]
Bearbeitet von DJHardcastle am 20.02.2010 um 23:26
 
emblinux
ich glaube Tabellenfelder mit Datentyp Text dürfen keinen Default-Wert haben. Das einfach mal ändern und nochmal probieren.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
DJHardcastle
Zitat emblinux schrieb:
ich glaube Tabellenfelder mit Datentyp Text dürfen keinen Default-Wert haben. Das einfach mal ändern und nochmal probieren.


Hab Deine Idee probiert... ohne Erfolg. Dann verschiedene Varianten durchprobiert... ohne DEFAULT-Wert, ohne "NOT NULL" ... zwischendrin wurde immerhin EINE Tabelle erstellt, und dann kam ich drauf: Definitionen mit VARCHAR(xx) vertragen sich nicht mit der UNSIGNED-Einstellung. Meine MySQL-Referenz, die ich dann irgendwann gefunden hab, sagt es auch. Unsigned scheint nur bei numerischen Feldern zu gehen.
Wieder was dazugelernt. Was ich aber nich wirklich gefunden hab, is ne Antwort auf die Frage was UNSIGNED wirklich macht. Aber egal...

Frage am Rande: In so einem Support-Forum, wo sich alle so bissl mit PHP und MySQL rumschlagen, könnte es sinnvoll sein, so Sachen wie SelfHTML, selfPHP und/oder ein MySQL-Manual (selfMySQL gibbs noch nicht, ist im Aufbau) in die Download-DB zu stellen. JAAA, ok, das Zeug kann man sich auf den einschlägigen Seiten runterladen. Dann verknüpft den Download-Link doch mit der entsprechenden Seite, wo es die Downloads gibt. Dann braucht ihr euch auch nicht um Aktualität kümmern. Und bietet den Service, daß man solche Sachen hier zumindest verlinkt findet.
 
DJHardcastle
Zitat MarcusG schrieb:
Auch mal die Tabelle 6 an den Stil der anderen angleichen, ohne [big]`[/big]

ja auf die Idee kam ich auch, das hatte aber keinen Einfluß aufs Ergebnis. Ich hab es nun aber trotzdem einheitlich gestaltet, jeweils ohne die [big]`[/big]
Bearbeitet von DJHardcastle am 21.02.2010 um 10:02
 
Krelli
Die Anweisungen TYPE=MyISAM sowie DEFAULT CHARSET=utf8 werden nicht immer unterstützt.

Diese mal einfach überall rausmachen, es geht auch ohne.
 
jan
hallo alle,

ich habe auch mal ne kurze frage und zwar.

möchte ich volgenden code so haben das er ausgeführt wird wenn die infusion instaliert wird verstehe nur nicht wie :S


Code 

dbquery("ALTER TABLE ".DB_NEW_USERS." ADD user_werben VARCHAR(30) NOT NULL");



versucht habe ich schon dieses hier.

Code 

$inf_altertable[1] = DB_NEW_USERS." ADD user_info VARCHAR(30) NOT NULL AFTER user_werben";



funktioniert leider nicht :(


Lg jan
www.agitelo.de/sig.png
 
DJHardcastle
Zitat Krelli schrieb:
Die Anweisungen TYPE=MyISAM sowie DEFAULT CHARSET=utf8 werden nicht immer unterstützt.

Diese mal einfach überall rausmachen, es geht auch ohne.

Meines Wissens werden bei MYSQL MyISAM sowieso und utf8 seit Version 4.1 unterstützt. Gibts denn wirklich Webspace-Provider, die MySQL unterhalb von 4.1 anbieten?
 
Gr@n@dE
@Jan: Auf "$inf_altertable" wird nur ausgeführt wenn die Infusion geupdatet wird, ansonsten gibt es beim Installieren keine Chance außer es manuell zu machen.
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN !
 
jan
danke ralf dann muss ich mir was überlegen es benutzer freundlich zu gestalten :S

LG Jan
www.agitelo.de/sig.png
 
Chaos3ngel
Ich hatte kürzlich beim schreiben meiner Infusion ein ähnliches Problem mit der Installation...
Ursache war bei mir der Name eines Feldes...
Ursprünglicher Name war 'option' geändert in 'setting' und die Installation lief...

Es sieht also aus meiner Perspektive so aus, das einige Namen für Spalten einfach nicht akzeptiert werden, wodurch die entsprechende Tabelle nicht installiert wird.
 
Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
[SUCHE] Kartensammelalbum Infusion Infusionen 2 29.12.2018 um 07:55
PartnerPagePanel: Banner werden nicht angezeigt. Infusionen 3 02.08.2017 um 07:58
EBay List Infusion Infusionen 3 23.03.2016 um 14:29
Eigene Seite macht keine Absätze. Allgemeine Diskussionen 2 02.11.2015 um 18:09
Anzahl Datenbankeinträge nicht abrufbar Allgemeine Support Fragen 3 07.11.2014 um 13:10
SGI Fusion