Ankündigung

Einklappen
Keine Ankündigung bisher.

Kann mir bitte jemand helfen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kann mir bitte jemand helfen?

    Hallo liebe Community,

    ich benötige eine Software für unsere Schulbibliothek!
    Gerade eben habe ich selber ne kleine Seite gebastelt, die an eine mySQL-Datenbank die Daten schickt.

    Die Datei heißt "index.php".

    Wenn ich sie im Browser über bplaced (http://thgbiblio.bplaced.net/biblio/index.php) aufrufe erscheint die Seite wenn ich dann aber auf Absenden klicke, kommt folgende Meldung:

    Warning: mysql_query() [function.mysql-query]: Access denied for user ''@'localhost' (using password: NO) in /users/thgbiblio/www/biblio/index.php on line 51

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/thgbiblio/www/biblio/index.php on line 51
    Access denied for user ''@'localhost' (using password: NO)

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    <head>
    	<title>THG Schulbibliothek</title>
    	<link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
    	<div id="webseite">
    	<div id="header">
    	<h1>THG Bibliotheksverwaltung</h1>
    	</div>
    	<div id="main">
    		<div id="left"></div>
    		<div id="right">
    		<?php
            $db = mysqli_connect("localhost", "thgbiblio_biblio", "xxxxxx", "thgbiblio_biblio");
            if(!$db)
            {
            exit("Verbindungsfehler: ".mysqli_connect_error());
            }
            ?>
    		<form method="POST">
    		Titel: <input type="text" name="titel" /><br />
    		Autor: <input type="text" name="autor" /><br />
    		ISBN: <input type="text" name="isbn" /><br />
    		Barcode: <input type="text" name="barcode" /><br />
    		Status: <select name="status">
                     <option value="verfuegbar">verfuegbar</option>
                     <option value="verliehen">verliehen</option>
                     <option value="gesperrt">gesperrt</option>
                    </select><br />
            <input type="submit" name="submit" />
    		</form>
         <?php
             if(isset($_POST['submit'])) {
              $titel = htmlentities($_POST['titel']);
              $autor = htmlentities($_POST['autor']);
              $isbn = htmlentities($_POST['isbn']);
              $barcode = htmlentities($_POST['barcode']);
              $status = htmlentities($_POST['status']);
    
    
             $sql = "INSERT INTO thgbiblio_biblio VALUES(
             '$titel',
             '$autor',
             '$isbn',
             '$barcode',
             '$status' )";
             $query = mysql_query($sql) or die(mysql_error());
    	
    	     if($query == TRUE) {
    	     echo "Das Medium wurde erfolgreich eingefuegt!";
    	     } else {
    		  echo "Das Medium konnte nicht eingetragen werden!";
    		 }
    		 }
    	?>		
    	</div>
    	</div>
    	<div id="footer">
    	(c) 2014 by Dennis Burgard
    	</div>
    	</div>
    </body>
    </html>


  • #2
    1.
    Kann mir bitte jemand helfen?
    Es ist offensichtlich, dass du Hilfe brauchst. Kannst ja nichtmal eine richtige Überschrift schreiben.

    2.
    Access denied for user ''@'localhost' (using password: NO)
    Was bedeutet das deiner Meinung nach?

    3. Achte auf das i bei ALLEN mysql-Funktionen.
    4. Statt htmlentities reicht auch htmlspecialchars
    Windows Server gehören NICHT ins Internet!

    Dildo? Dildo!

    Kommentar


    • #3
      http://php-de.github.io/jumpto/sql/
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Danke für die Antworten.

        Allerdings kenne ich mit mit diesem Code relativ wenig aus, da ich ihn nach einem YouTube-Video erstellt habe.

        D.h. von dem Meisten was in den Antworten gesagt wurde, versteh ich leider nix. Kann vlt. bitte jemand kurz über den Code gucken und sagen, was ich in der Zeile editieren muss?

        LG Dennis

        Kommentar


        • #5
          1) lernen.... bitte - sonst gib es gleich an jemanden, der weiß, was er tut
          2) wenigstens GENAU HINGUCKEN -
          PHP-Code:
          mysqli_connect(....)

          ..

          mysql_query( ...) // wtf? 
          du verbindest dich zur Datenbank mittels mysqli, versuchst dann aber die Abfragen mittels mysql_ zu stellen - das kann nicht funktionieren, weil beides 2 getrennte Paar Schuhe sind und PHP die Verbindung zwischen beiden Datenbank-Erweiterungen nicht "teilt" ...
          bitte bleibe gleich bei mysqli - die Funktionen sind weitgehend die gleichen, haben aber eben das besagte "i" am Ende ..
          für dich also mysqli_query( )
          3) schau die die genaue Schreibweise samit nötiger Parameter im Handbuch an (https://php.net/manual/en/mysqli.query.php prozeduraler Stil)
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

          Kommentar

          Lädt...
          X