PHP und MySQL Problem



  • Hallo

    Ich habe mir Apache, PHP und MySQL installiert. Funktioniert eigentlich auch alles (d.h. PHP Parser, etc.) nur bekomm ich wenn ich eine Variable einer anderen Seite übergeben möchte oder eine Verbindung zur SQL Datenbank erstellen möchte immer Fehlermeldungen.

    MySQL:

    Fehlermeldung:
    Warning: mysql_connect(): Access denied for user: 'abc@localhost' (Using password: YES) in C:\Apache2\htdocs\PHP&MySQL\testconnect.php on line 14

    Source:

    <?php
    	$server = "localhost";
    	$user = "abc";
    	$pass = "def";
    
    	$dbh = mysql_connect($server, $user, $pass);
    	if($dbh)
    	{
    		echo "MySQL-Verbindung erfolgreich!";
    	}
    ?>
    

    Zeile 14: $dbh = mysql_connect…

    my.ini Einstellungen:
    [WinMySQLadmin]
    Server=C:/mysql/bin/mysqld-nt.exe
    user=abc
    password=def

    PHP:

    Fehlermeldung:
    Notice: Undefined variable: rziel in C:\Apache2\htdocs\phptests\formulare\berechnen.php on line 10
    Notice: Undefined variable: htyp in C:\Apache2\htdocs\phptests\formulare\berechnen.php on line 11

    Source:

    <?php
       echo "Sie möchten also nach $rziel in ";
       echo " ein $htyp Sterne Hotel<p>";
    
       if ($rziel == "Gomera")
       {
          if ($htyp == "Drei") $ang = 7;
          else $ang = 1;
       }
    
       else if ($rziel == "Lanzarote")
       {
          if ($htyp == "Drei") $ang = 12;
          else $ang = 2;
       }
    …
    

    Übergeben wird das ganze durch ein Formular.
    Der Source:

    <form action = "berechnen.php" method = "post">
    
        <input type="radio" name="rziel" value="Gomera" checked>
           Wandern auf Gomera<p>
        <input type="radio" name="rziel" value="Lanzarote">
           Sonnen auf Lanzarote <p>
        <input type="radio" name="rziel" value="Fuerteventura">
           Surfen auf Fuerteventura<p>
    …
    

    Das Problem habe ich überall wenn ich eine Variable an eine andere Seite übergeben möchte. Also auch als ich local ein Gästebuch ausprobiere wollte kamen Fehlermeldungen wie die oben.

    Grüsse Trunxx



  • Trunxx schrieb:

    MySQL:

    Fehlermeldung:
    Warning: mysql_connect(): Access denied for user: 'abc@localhost' (Using password: YES) in C:\Apache2\htdocs\PHP&MySQL\testconnect.php on line 14

    Source:

    <?php
    	$server = "localhost";
    	$user = "abc";
    	$pass = "def";
    	
    	$dbh = mysql_connect($server, $user, $pass);
    	if($dbh)
    	{
    		echo "MySQL-Verbindung erfolgreich!";
    	}
    ?>
    

    Zeile 14: $dbh = mysql_connect…

    my.ini Einstellungen:
    [WinMySQLadmin]
    Server=C:/mysql/bin/mysqld-nt.exe
    user=abc
    password=def

    Du hast das PWD falsch eingeben.
    Oder der Benutzer exestiert nicht, und das glaube ich eher.

    Trunxx schrieb:

    PHP:

    Fehlermeldung:
    Notice: Undefined variable: rziel in C:\Apache2\htdocs\phptests\formulare\berechnen.php on line 10
    Notice: Undefined variable: htyp in C:\Apache2\htdocs\phptests\formulare\berechnen.php on line 11

    Source:

    <?php
       echo "Sie möchten also nach $rziel in ";
       echo " ein $htyp Sterne Hotel<p>";
    
       if ($rziel == "Gomera")
       {
          if ($htyp == "Drei") $ang = 7;
          else $ang = 1;
       }
    
       else if ($rziel == "Lanzarote")
       {
          if ($htyp == "Drei") $ang = 12;
          else $ang = 2;
       }
    …
    

    Übergeben wird das ganze durch ein Formular.
    Der Source:

    <form action = "berechnen.php" method = "post">
    
        <input type="radio" name="rziel" value="Gomera" checked>
           Wandern auf Gomera<p>
        <input type="radio" name="rziel" value="Lanzarote">
           Sonnen auf Lanzarote <p>
        <input type="radio" name="rziel" value="Fuerteventura">
           Surfen auf Fuerteventura<p>
    …
    

    Das Problem habe ich überall wenn ich eine Variable an eine andere Seite übergeben möchte. Also auch als ich local ein Gästebuch ausprobiere wollte kamen Fehlermeldungen wie die oben.

    Grüsse Trunxx

    Bei dir sind die register_globas deaktiviert, die sind default mäßig aus.

    Bei Post: $_POST['VARNAME']
    Bei Get: $_GET['VARNAME']

    gruß



  • MySQL:
    Das sind die Daten die ich beim ersten Start von MySQL eingeben musste.
    PW ist nicht falsch geschrieben. Habe mehrmals probiert.

    PHP:
    Wo und wie kann ich die register_globals aktivieren?

    Danke für deine Hilfe 🙂



  • Wo und wie kann ich die register_globals aktivieren?

    In der php.ini in deinem Windowsverzeichnis, falls du Windows hast.



  • Trunxx schrieb:

    MySQL:
    Das sind die Daten die ich beim ersten Start von MySQL eingeben musste.
    PW ist nicht falsch geschrieben. Habe mehrmals probiert.

    Evtl. waren das nur die Daten für das Admin-Tool 😕

    Trunxx schrieb:

    Wo und wie kann ich die register_globals aktivieren?

    Hat eigentlich nicht direkt etwas damit zu tun, ist aber trotzdem wichtig - also register_globals auf off und dann per $_GET & Co darauf zugreifen.
    Zu dem eigentlichen Problem: Wenn du auf eine Variable zugreifen willst, die aber (noch) gar nicht existiert bzw. definiert wurde erhältst du diese Warnung (kein Fehler). Du müsstest also im Prinzip dafür sorgen, dass die Variablen immer gesetzt sind, oder sie immer vor dem Zugriff mit isset überprüfen. Du kannst aber auch einfach error_reporting auf E_ALL & ~E_NOTICE setzen (ist bei dir wohl auf E_ALL) - ist eigentlich auf praktisch immer so eingestellt. Damit wird dann einfach nur die Ausgabe dieser Warnung (Notice) unterdrückt 😉



  • flenders schrieb:

    Trunxx schrieb:

    MySQL:
    Das sind die Daten die ich beim ersten Start von MySQL eingeben musste.
    PW ist nicht falsch geschrieben. Habe mehrmals probiert.

    Evtl. waren das nur die Daten für das Admin-Tool 😕

    Das Admin Tool legt den User automatisch an, aber auch nur wenn der Dienst gestartet ist.

    @Trunxx
    Geh so vor (MySQL):

    1. Beendet den Dienst. "net stop mysql" oder unter Dienste.
    2. Beende das Admin-Tool komplett, das es aus der Try etc. beendet ist.
    3. Öffne die my.ini und lösche den ganzen Inhalt der ini Datei.
    4. Untrage die Daten ein (Du mußt die Pfade anpassen, den Ordner Data mußt du im mysql-Ordner nach schauen):
      [mysqld]
      basedir=C:/mysql/
      datadir=C:/mysql/data
    5. Speichern die Datei (in C:\Windows\my.ini bze. C:\Winnt\my.ini)
    6. Das Admin Tool starten und den User,PWD neu eingeben.
    7. Dann sollte das gehen.

Anmelden zum Antworten