Datenbankänderung mit PHP

@kojack: Stichwort: "Qualitätskontrolle" - also poste zum Abgleich besser nochmal deinen Code.

mfg Maik
 
Hier noch mein Code, habe noch mal ein bischen mit den Anfangs Variablen herumgespielt und zumindestens ein "Datenbank nicht vorhanden" bekommen.
Hier mein ganzes Doku,
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>work.php</title>
</head>

<body>
<?php

$host = "abc";
$user = "123";
$password = "ich";
$dbname = "kiga";
$tabelle = "Termine";


    $dbverbindung = mysql_connect ($host, $user, $password) or die
        ("Keine Verbindung moeglich");
    mysql_select_db("$dbname") or die
        ("Die Datenbank existiert nicht");

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $post_text = $_POST['Text']; // dies ist der Wert aus dem Formular//
    $post_id = $_POST['id'];
        
    if($_GET['action'] == "update")
    {    
        $aendern = "UPDATE `".$tabelle."` SET `text` = '".$post_text."' WHERE id = '".$post_id."'";
    
        mysql_query($aendern);
        print "Daten geändert.";
    }
    
    if($_GET['action'] == "insert")
    {
        $eingabe = "INSERT INTO ".$tabelle." (text)
                    VALUES ('".$post_text."')";
    
        mysql_query($eingabe);
        print "Daten eingetragen.";
    }
}
else
{
    if($_GET['action'] == "update")
    {
        $abfrage = "SELECT * FROM `".$tabelle."` LIMIT 0, 30 ";
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_array($ergebnis))
        {
            print "<form action='".$_SERVER['PHP_SELF']."?action=update' method='post'>\n";
            print "Text Eingabe: <br>\n";
            print "<input type='text' name='text' size='50' value='".$row['text']."'>\n";
            print "<input type='hidden' name='id' value='".$row['id']."'>\n";
            print "<br>\n";
            print "<input type=submit name='SUBMIT' value='senden'>\n";
            print "</form>\n";
        }
    }
    elseif($_GET['action'] == "insert")
    {
        print "<form action='".$_SERVER['PHP_SELF']."?action=insert' method='post'>\n";
        print "Text Eingabe: <br>\n";
        print "<input type='text' name='text' size='50'>\n";
        print "<br>\n";
        print "<input type=submit name='SUBMIT' value='senden'>\n";
        print "</form>\n";
    }
    else
    {
        print "<a href='".$_SERVER['PHP_SELF']."?action=insert'> Neuer Eintrag.</a>\n";
        print "<a href='".$_SERVER['PHP_SELF']."?action=update'> Eintrag bearbeiten.</a>\n";
    }
}
mysql_close($dbverbindung);
?> 
</body>
</html>
 
Hmmm, ich habe jetzt deinen Code wie er da steht 1zu1 kopiert. Funktioniert bei mir tadellos. Scheinbar hast du dich bei $dbname = ""; verschrieben, schau noch mal genau nach. Ich nehme an das dein Webserver auf einem Linux System läuft also ist Groß/Kleinschreibung einzuhalten.
 
Da habe ich mal was sinnloses eingegeben und "Datenbank ist nicht vorhanden" erhalten.
Wenn der Code funktioniert und sich bei mir nix tut, was soll das denn sein?
Nicht eine Anzeige.
Hängt das evtl mit der PHP version zusammen?
 
Wo hast du was sinnloses eingegeben ?
Wenn du die message "Datenbank ist nicht vorhanden" erhälts, hast du in den Variablen nicht die richtigen Daten angegeben:
PHP:
$host = "";
$user = "";
$password = "";
$dbname = "";
$tabelle = "";
 
PHP:
$dbname = "kiga";

Hier habe ich mal zum Test was anderes eingegeben
Wenn ich den richtigen Wert eingebe gibts wieder nix, Schneegestöber

Habe eben alle Datenüberprüft. Wenn irgend ein Eintrag nicht stimmt kommt" Keine Verbindung möglich" Also die Verbindung scheint zu stehen!

Versuch gerade mal nen Anhang mit nem Screenshot von myphpAdmin hoch zu laden. Vieleicht ist ja da was zu finden
 

Anhänge

  • Bild 2.jpg
    Bild 2.jpg
    30,9 KB · Aufrufe: 13
Erstell mal bitte eine .php Datei mit folgendem Inhalt:
PHP:
<?php
echo phpinfo();
?>
Dann rufst du diese im Browser auf und schaust nach der Zeile "Apache Version" und kopierst was daneben steht.
 
Das ist alles Oo
zum Vergleich, bei mir steht:
Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0

Was allerdings seltsam ist, wenn kein PHP installiert wäre würde auch keine message kommen das die Datenbank nicht erreicht wurde.
Das ist mir jetzt schleierhaft XD
keine Ahnung , da ist mein Latein am Ende.
 
Zurück