php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.04.2011, 03:25  
Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 89
PHP-Kenntnisse:
Anfänger
Anima ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit install.php

Guten Morgen,

ich habe ein kleines Problem mit meiner install.php. Ich will nämlich ein Gästebuch programmieren, bei dem der Benutzer ein Installationsscript aufruft, welches die Tabellen erstellt. Klappt auch alles soweit ganz reibungslos, allerdings legt mein System die Tabellen nicht an. Es gibt auch keinen Fehlercode aus. So sieht die Datei bisher aus:

PHP-Code:
<?php
if(isset($_POST["submit"])) {
    
$hostname $_POST["hostname"];
    
$username $_POST["username"];
    
$password $_POST["password"];
    
$database $_POST["database"];
    if(empty(
$hostname) || empty($username) || empty($database)) {
        echo 
"Sie müssen alles ausfüllen!<br> <a href=\"install.php\">Zurück</a>";
    }
    else {
    
$file fopen("config.inc.php""w");
    
fwrite($file,
    
'
    <?php
    $verbindung = mysql_connect ("'
.$hostname.'","'.$username.'", "'.$password.'")or die ("Keine Verbindung möglich. Benutzername oder Passwort sind falsch!");
    mysql_select_db("'
.$database.'")or die ("Die Datenbank existiert nicht.");

    ?>'
);
    
fclose($file);
    include(
'config.inc.php');
    
mysql_query('CREATE TABLE `"'.$database.'"`.`guestbook` (
    `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `name` VARCHAR( 150 ) NOT NULL ,
    `entry` TEXT NOT NULL ,
    `date` VARCHAR( 150 ) NOT NULL ,
    `clock` VARCHAR( 150 ) NOT NULL ,
    `email` VARCHAR( 150 ) NOT NULL
    ) ENGINE = MYISAM ;'
);
echo 
"Glückwunsch! Ihr Gästebuch wurde erfolgreich installiert!<br> 
Löschen Sie bitte die install.php bzw. entfernen Sie sie die Datei vom Server, da diese außer für eine Neuinstallation nicht mehr benötigt wird.<br><br>
<a href=\"guestbook.php\">Weiter zu Ihrem Gästebuch</a>"
;
}
exit;
}
?>

<!DOCTYPE html>
<head>
<title>Installation</title>
<script type="text/javascript">
function load(){

  var s = new Date();
  s = s.getTime();

  var sekunden  = 5;
  var breite = 300;
  var hoehe = 20;
  var balken = document.getElementById("balken");
  var ladung = document.getElementById("ladung");

  balken.style.width = breite+"px";
  balken.style.border = "1px solid gray";
  ladung.style.backgroundColor = "lightgreen";
  ladung.style.height = hoehe +"px";

   prozent = function(){

    e = new Date();
    w = Math.ceil(breite/sekunden*(e.getTime()-s)/1000);

    if (w >= breite){

      clearInterval(sto);
      ladung.style.width = breite+"px";
      ladung.innerHTML = "Der Serverstatus wurde überprüft." // i know this is nonsense, but it looks professionaly xD
    }
    else {
      ladung.style.width = w+"px";
    }
  } 
  sto = setInterval("prozent()",50);
}
</script>
</head>
<body>
<h2>Installation</h2>
Um das Gästebuch auf dem Server zu installieren, sind noch ein paar kleine Schritte notwendig, die das System benötigt, um sich mit der Datenbank zu verbinden.<br>
Bitte füllen Sie das folgende Formular korrekt aus, nachdem Sie die <a href="readme.txt">readme.txt</a> gelesen haben!<br><br>
<div id="balken"><div id="ladung"></div></div>
<script type="text/javascript">load();</script><br><br>
<form action="install.php" method="post">
Hostname<br>
<input type="text" name="hostname"><br>
Benutzername<br>
<input type="text" name="username"><br>
Kennwort<br>
<input type="password" name="password"><br>
Datenbankname<br>
<input type="text" name="database"><br>
<input type="submit" value="Weiter" name="submit">
</form>
</body>
</html>
Ich glaube irgendetwas ist an der Stelle hier falsch, allerdings kenne ich die Ursache nicht, da ich SQL-Code bisher immer manuell eingegeben habe:

PHP-Code:
    mysql_query('CREATE TABLE `"'.$database.'"`.`guestbook` (
    `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `name` VARCHAR( 150 ) NOT NULL ,
    `entry` TEXT NOT NULL ,
    `date` VARCHAR( 150 ) NOT NULL ,
    `clock` VARCHAR( 150 ) NOT NULL ,
    `email` VARCHAR( 150 ) NOT NULL
    ) ENGINE = MYISAM ;'
); 
Hat jemand eine Idee für die Lösung meines Problems?
Anima ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.04.2011, 03:31  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Anima Beitrag anzeigen
Es gibt auch keinen Fehlercode aus.
Kein Wunder, weil du absolut keine Fehlerbehandlung in deinem Script vorgenommen hast.

http://www.php.de/wiki-php/index.php/Debugging:SQL

Sowas gehört zu den absoluten Grundlagen, die du eigentlich längst beherrschen solltest, wenn du solche Scripte erstellen willst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 03.04.2011, 10:40  
Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 89
PHP-Kenntnisse:
Anfänger
Anima ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Seite. Die Variablenschreibweise '".$database."' war falsch und deswegen hat das System nach einer völlig anderen Datenbank gesucht. Mein komplettes Script sieht jetzt so aus:

PHP-Code:
<?php
if(isset($_POST["submit"])) {
    
$hostname $_POST["hostname"];
    
$username $_POST["username"];
    
$password $_POST["password"];
    
$database $_POST["database"];
    if(empty(
$hostname) || empty($username) || empty($database)) {
        echo 
"Sie müssen alles ausfüllen!<br> <a href=\"install.php\">Zurück</a>";
    }
    else {
    
$file fopen("config.inc.php""w");
    
fwrite($file,
    
'
    <?php
    $verbindung = mysql_connect ("'
.$hostname.'","'.$username.'", "'.$password.'")or die ("Keine Verbindung möglich. Benutzername oder Passwort sind falsch!");
    mysql_select_db("'
.$database.'")or die ("Die Datenbank existiert nicht.");

    ?>'
);
    
fclose($file);
    include(
'config.inc.php');
    
$query 'CREATE TABLE `'.$database.'`.`guestbook` (
    `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `name` VARCHAR( 150 ) NOT NULL ,
    `entry` TEXT NOT NULL ,
    `date` VARCHAR( 150 ) NOT NULL ,
    `clock` VARCHAR( 150 ) NOT NULL ,
    `email` VARCHAR( 150 ) NOT NULL
    ) ENGINE = MYISAM ;'
;
mysql_query ($query$verbindung) or die (mysql_error ($verbindung));
echo 
"Glückwunsch! Ihr Gästebuch wurde erfolgreich installiert!<br> 
Löschen Sie bitte die install.php bzw. entfernen Sie sie die Datei vom Server, da diese außer für eine Neuinstallation nicht mehr benötigt wird.<br><br>
<a href=\"guestbook.php\">Weiter zu Ihrem Gästebuch</a>"
;
}
exit;
}
?>

<!DOCTYPE html>
<head>
<title>Installation</title>
<script type="text/javascript">
function load(){

  var s = new Date();
  s = s.getTime();

  var sekunden  = 5;
  var breite = 300;
  var hoehe = 20;
  var balken = document.getElementById("balken");
  var ladung = document.getElementById("ladung");

  balken.style.width = breite+"px";
  balken.style.border = "1px solid gray";
  ladung.style.backgroundColor = "lightgreen";
  ladung.style.height = hoehe +"px";

   prozent = function(){

    e = new Date();
    w = Math.ceil(breite/sekunden*(e.getTime()-s)/1000);

    if (w >= breite){

      clearInterval(sto);
      ladung.style.width = breite+"px";
      ladung.innerHTML = "Der Serverstatus wurde überprüft."
    }
    else {
      ladung.style.width = w+"px";
    }
  } 
  sto = setInterval("prozent()",50);
}
</script>
</head>
<body>
<h2>Installation</h2>
Um das Gästebuch auf dem Server zu installieren, sind noch ein paar kleine Schritte notwendig, die das System benötigt, um sich mit der Datenbank zu verbinden.<br>
Bitte füllen Sie das folgende Formular korrekt aus, nachdem Sie die <a href="readme.txt">readme.txt</a> gelesen haben!<br><br>
<div id="balken"><div id="ladung"></div></div>
<script type="text/javascript">load();</script><br><br>
<form action="install.php" method="post">
Hostname<br>
<input type="text" name="hostname"><br>
Benutzername<br>
<input type="text" name="username"><br>
Kennwort<br>
<input type="password" name="password"><br>
Datenbankname<br>
<input type="text" name="database"><br>
<input type="submit" value="Weiter" name="submit">
</form>
</body>
</html>

Geändert von Anima (03.04.2011 um 10:48 Uhr).
Anima ist offline   Mit Zitat antworten
Alt 04.04.2011, 10:52  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Scripte, die wiederum Scripte erzeugen, sind meistens Anzeichen für schlechtes oder falsches Design.

Das Script enthält auch noch Fehler, diese zwei Zeilen werden in eine Datei geschrieben, nicht ausgeführt.
Zitat:
PHP-Code:
    $verbindung mysql_connect ("'.$hostname.'","'.$username.'""'.$password.'")or die ("Keine Verbindung möglich. Benutzername oder Passwort sind falsch!");
    
mysql_select_db("'.$database.'")or die ("Die Datenbank existiert nicht."); 
Daher ist später $verbindung nicht definiert:
PHP-Code:
mysql_query ($query$verbindung) or die (mysql_error ($verbindung)); 
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Problem mit Mehrsprachigkeit Sniper_Kotaro PHP Tipps 2009 2 16.12.2009 11:47
Problem beim Download Management mistermint PHP Tipps 2009 8 24.10.2009 11:34
Umlaut Problem nokieone PHP Tipps 2009 7 16.10.2009 19:30
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
datenbank update via install.php problem annaloga Datenbanken 6 31.05.2006 10:59
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
install/install.php“ existiert nicht., \/install.php” existiert nicht!\, entfernen sie die install.php, install.php mysql_query(, install.php doesnt work, width=\' breite \',height=\' hoehe\', install.php database name, <a href=\../setup.php\>, install.php geht nicht, php -q install.php geht nicht

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum