Thread Verfasser: Wisselsheim
Thread ID: 1432
Thread Info
Es gibt 12 Beiträge zu diesem Thema, und es wurde 4994 Mal angesehen.
 Thema drucken
Datenbank SQL bei gmx/1und1 wird nicht gefunden
Wisselsheim
Hallo,,
ich habe php Fusion 7.02.7 auf meinem WebSpace geladen, bei Aufruf geht es bis zum Schritt 4, dann geben ich die Datenbankinformationen ein und es geht nicht weiter, weder eine Fehlermeldung noch ein Fortgang.

Habe ich etwas falsch eingestellt ?

Bin etwas verzweifelt, da es meine erste php Fusion Istalllation ist.

Grüße und Danke
Sven Klausnitzer
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Ernst74
Bei 1 und 1 hast du PHP 7.0.22 da musst du das inoffizielle DE Paket für die Installation nehmen.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Wisselsheim
Hallo,
leider geht es noch immer nicht, Schritt 4 hängt, weder eine Meldung, dass die Datenbank nicht gefunden wird, das PW falsch ist etc. Hängt einfach !
die Seite liegt auf http://www.wisselsheim.net

Ich habe das inoffizielle Paket von eurer Seite heruntergeladen, da steht aber auch 7.02.07 das von dir genannte 7.0.22 finde ich nicht !

Grüße
Sven
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Ernst74
PHP ist nicht gleich PHP Fusion. Dann bleibst du bei der Installation hängen, weil dein MySQL Server nicht mit dem birthdate Format klar kommt. Vielleicht sollte man das mal in der setup.php ändern.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Wisselsheim
Sorry, aber wie mache ich das ? Bin absoluter Anfänger diesbezüglich !

Danke
Sven
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Im Inoffiziellen Update ist aber das DB-Feld für Birthdate geändert, daran sollte es also nicht liegen.
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
Wisselsheim
Es hängt noch immer bei Schritt 4 Konfiguration der Datenbank :-(

Zusammengefügt am 02. März 2018 um 08:14:50:
Habe WordPress zum testen installiert, Mit WP funktioniert die Datenbank, wurde imitiert.
Bearbeitet von Wisselsheim am 02. März 2018 07:14:50
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Hast du evtl. Zugriff auf die error.log des Webservers oder kannst du das error_reporting in der php.ini aktivieren?
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
Rolly8-HL

Zitat

Systemweb schrieb:
Im Inoffiziellen Update ist aber das DB-Feld für Birthdate geändert, daran sollte es also nicht liegen.

Wenn ich das aber jetzt mit diesem Eintrag wie dort angegeben ist anwende.

user_birthdate VARCHAR(10) NOT NULL DEFAULT '0000-00-00',
Dann geht das

$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_birthdate like '____-".date("m")."-__' ORDER BY DAYOFMONTH(user_birthdate) ASC");
und das

$result_eoup_nav3 = dbquery("SELECT user_id, user_name, 
user_level, user_status, user_birthdate
FROM ".DB_USERS."
WHERE user_birthdate LIKE '____-".date("m")."-".date("d")."' AND user_lastvisit !='0'  AND !user_status= 1 AND user_lastvisit>'$time_overdue_nav' ");
nicht mehr.
Sollte man den nicht doch lieber den Server wechseln?

Es sei denn es gibt eine Lösung dafür, für die Ausgabe diesen Monat und Heute Geburtstag.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
@Rolly:
Problem ist, dass der default-Wert "0000-00-00" für ein Datenbankfeld vom Typ "date" nicht mehr gültig ist. Genullte Datumsangaben sind damit unzulässig.
Ist der Datenbank-Server so eingestellt das "STRICT_MODE" eingeschaltet ist (also striktes Einhalten der Regeln auf "ja") kommt es bereits bei einer Neuinstallation vom originalen PHP-Fusion 7 zu einem Fehler.

Sicher kann man raten "Wechsel doch einfach den Server bzw. Anbieter" bzw. "Ändere deine Serverinstellungen", aber das kann nicht die optimale Dauerlösung sein. Null-Angaben beim Datum sind in MySQL nun ungültig, auf STRICT_MODE = off umzustellen ist im Prinzip nur eine Verschleppung dieses Problemes.
Das entspräche dem gleichen Prinzip, als wenn man durch ein PHP-Update hervorgerufene PHP-Warnungen oder Fehler mittels Error_Reporting-Direktive unterdrückt, ohne für die nahe Zukunft eine entspr. Anpassung zu planen.

Nun könnte man hergehen und den Defaultwert auf ein gültiges Datum setzen, z.B. 1931-01-01. Die Installation klappt damit, aber man kommt zum nächsten Problem: jeder neu registrierte, der sein Geburtsdatum nicht angegeben hat, wird als 87-jähriger angegeben, denn PHP-Fusion geht nur bei genullten Werten von einem noch nicht gesetzten Geburtsdatum aus.

Als wirkliche Problemlösung bieten sich 2 Wege an:
1. Fusion beibringen, dass das Datum 1931-01-01 als "nicht angegeben" eingestuft wird und den Defaultwert wie oben ändern. Das wäre aber nur gut bei Neuinstallationen. Bei bereits bestehenden Fusionseiten würden dann Mitglieder auftauchen, die über 2000 Jahre alt sind. Man müsste also ebenfalls 0000-00-00 als "nicht angegeben" bewertet lassen. Manche Infusionen müssten dann ggfs. ebenso angepasst werden.
2. Dem Datenbank-Feld einfach einen anderen Typ zuweisen, damit man weder Fusion noch diverse Infusionen (die auch aufs Geburtsdatum zurückgreifen) umbauen muss. Hierbei muss aber sichergestellt sein, dass stets korrekte Werte im Datumsformat in diesem Feld gespeichert werden.

Setzt man also den Typ "varchar(10)", kann man weiter damit arbeiten ohne das System umbauen zu müssen. Einzig die Überprüfung durch MySQL auf einen Wert im Datumsformat entfällt, der Datenbank-Server nimmt also theoretisch alle zu speichernden Werte ohne Protest an, z.B. auch "1234567890" oder "abcdefghij", die keinem Datumsformat entsprechen.
Da PHP-Fusion die gemachten Angaben im Profil jedoch vor dem Schreiben in die DB selbst auf gültige Eingaben überprüft und das zu speichernde Geburtsdatum korrekt formatiert, kann man das vernachlässigen. Somit sollte Methode 2 angebrachter sein.

Deine Codebeispiele funktionieren dabei weiterhin problemlos.
Zur Sicherheit habe ich dein 1. Beipiel getestet unter dem Update-Pack 2.0, bei dem ebenfalls varchar(10) gesetzt ist. (Dieser Datums-Fix war aber bereits im Updatepack v1.1 enthalten.)
Es wurde ein Panelcode per Vorschau getestet mit folgendem Inhalt:

$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_birthdate like '____-".date("m")."-__' ORDER BY DAYOFMONTH(user_birthdate) ASC");
while ($data = dbarray($result)) {
   echo $data['user_name']."<br />\n";
}

Dein 2. Codebeispiel funktioniert folglich ebenfalls, allerdings ist die von dir gewählte Bedingung "AND !user_status= 1" nicht zu empfehlen, da hierbei auch suspendierte und vor allem auch anonymisierte User dem Suchmuster entsprechen, lediglich deaktivierte werden herausgefiltert.
"AND user_status= 0" ist hier zu empfehlen.
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
Rolly8-HL
Da ich so einen Server nicht habe um dieses zu testen muss ich hier mal die Frage stellen.
Wäre dann eine Installation unter diesen Kriterien mit diesem Eintrag möglich?

user_birthdate DATE NOT NULL DEFAULT '1901-01-01'

Wenn ja? dann hat sich meine Frage erledigt, den Rest habe ich dahingehend schon alles angepasst.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Meines Wissens sollten alle Datums/-Zeitangaben in MySQL ab 1000-01-01 00:00:00 akzeptiert werden.
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
Springe ins Forum: