Stephan: Warum kann er nicht kontaktieren?

Hallo,

warum kann er meine Datenbank nicht kontaktieren:

---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Neuen Benutzer anlegen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<b>Mein BZH - Anmeldung</b>
<bR><bR>

[...]

<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Anmeldeformular</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"<?php if($_POST['username'] != "") { echo
' value="'.$_POST['username'].'"'; } ?> size="20"></td>
</tr>

<tr>
<td width="170" bgcolor="#e7e7e7">Anrede</td>
<td width="230" bgcolor="#ffffff"><input type="anrede" name="anrede" size="20" class="input"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Vorname</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="vorname" size="20" class="input"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Name</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="name" size="20" class="input"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">E-Mail</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="email" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" colspan="2">
<input type="checkbox" name="akzeptieren" value="akzeptieren"> Ich habe die <a class=style1 href="index.php3?site=nutzungsbedingungen">Nutzungsbedingungen</a>, <a class=style1 href="index.php3?site=copyright">die Copyrighthinweise</a>, den <a class=style1 href="index.php3?site=copyright#haftungsausschluss">Haftungsausschluss</a> und die <a class=style1 href="index.php3?site=anmeldungsrichtlinien">Anmeldungsrichtlinien bzw. Eintragungsrichtlinien</a> gelesen und erkläre mich mit diesen einverstanden.
</td>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Benutzer anlegen" class="button">
</td>
</tr>
[...]

<?php
include("funktionen.php");

$passwd = 'PWD';
$betreff='BETREFF';
$anrede='Hallo $_POST["name"],\n\n';
$newsletterauto="TEXT";
$nachricht="$anrede$newsletterauto";

}elseif(!isset($_POST['username']) || $_POST['username'] == ""){
echo '<p align="center">Bitte geben Sie einen Benutzernamen an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['anrede']) || $_POST['anrede'] == ""){
echo '<p align="center">Bitte geben Sie eine Anrede an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['vorname']) || $_POST['vorname'] == ""){
echo '<p align="center">Bitte geben Sie Ihren Vornamen an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['name']) || $_POST['name'] == ""){
echo '<p align="center">Bitte geben Sie Ihren Namen an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['akzeptieren']) || $_POST['akzeptieren'] == ""){
echo '<p align="center">Sie müssen sich mit den <a class=style1 href="index.php3?site=nutzungsbedingungen">Nutzungsbedingungen</a>, <a class=style1 href="index.php3?site=copyright">den Copyrighthinweisen</a>, dem <a class=style1 href="index.php3?site=copyright#haftungsausschluss">Haftungsausschluss</a> und den <a class=style1 href="index.php3?site=anmeldungsrichtlinien">Anmeldungsrichtlinien bzw. Eintragungsrichtlinien</a> einverstanden erklären.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['email']) || $_POST['email'] == ""){
echo '<p align="center">Bitte geben Sie eine E-Mailadresse an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!isset($_POST['email']) || $_POST['email'] == ""){
echo '<p align="center">Bitte geben Sie eine E-Mailadresse an.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
}elseif(!preg_match('/[1]+@.+.\D{2,5}$/', $_POST['email'])){ echo '<p align="center">Bitte geben Sie eine gültige E-Mailadresse ein.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';

}elseif($_POST['password'] != $_POST['password2']) {
echo '<form action="index.php3?site=anmelden" method="post">';
echo '<p align="center">Die Passwörter stimmen nicht überein!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück"></p>';
echo '</form>';
}else{
$query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
$result = @mysql_fetch_array($query);
if($_POST['username'] == $result['user']) {
echo '<p align="center">Dieser Benutzername ist leider schon vergeben.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
die;
}else{
$username = $_POST['username'];
$pass = md5($passwd);
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass', anr = '$anrede', vorn = '$vorname', name = '$name', mail = '$email'")) {
echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a class=style1 href="neu.php">Mein BZH - LogIn</a></p>';
echo (

mail($email,$betreff,$nachricht,"From: service@lexikon.bildungszentrum-hyperkinetik.de"));

}else{
echo '<p align="center">Sie konnten leider nicht in die Datenbank eingetragen werden. Bitte versuchen Sie es später noch einmal.<br><br><a class=style1
href="index.php3?site=anmelden">Zurück</a></p>';
}
}
}
?>
</body>
</html>
---
Danke schon jetzt

Stephan

--
Ohne Ziel stimmt jede Richtung

  1. ^@ ↩︎

  1. Ups, funktionen.php:

    ---
    <?php
     include("magic_quotes_fix.php");

    // Gibt $string aus und wandelt vorher alle für HTML besonderen Zeichen in Entities um
     function wp($string)
     {
      echo htmlentities(stripslashes($string));
     }

    // Stellt die Datenbankverbindung her
     function DBverbinden()
     {
      $connid = mysql_pconnect("hast", "dbuser", "dbpass");  // Datenbankverbindung herstellen
      if(!$connid) die("Die Datenbankserververbindung konnte nicht hergestellt werden");
      mysql_select_db("datenbank") or die("Die Datenbank konnte nicht ausgewählt werden");
      return $connid;
     }

    // Die wichtigste Funktion hier
     function zeichneBaum($eintrag, $aktuellerEintrag = 0)
     {
      global $forumarray, $kindarray;  // Die hilfreichen Arrays importieren

    // Erstmal ein <li> aufmachen:
      ?><li><?php
       // Prüfen ob ein Link gesetzt werden soll oder nicht
       if($eintrag == $aktuellerEintrag) { // Kein Link
        ?>
         <strong><?php wp( $forumarray[$eintrag]["Betreff"] );?>
         von <?php wp( $forumarray[$eintrag]["AutorName"] );?> am <?php wp( $forumarray[$eintrag]["Datum"] );?>
         um <?php wp( $forumarray[$eintrag]["Uhrzeit"] );?></strong>
        <?php
       } else {
        // Jetzt können wir eine Zeile mit den Infos zu dem durch
        // $eintrag bezeichneten Eintrag und einem Link ausgeben
        ?>
         <a href="lesen.php?eintrag=<?php wp( $forumarray[$eintrag]["ID"] );?>"><?php wp( $forumarray[$eintrag]["Betreff"] );?></a>
           von <?php wp( $forumarray[$eintrag]["AutorName"] );?> am <?php wp( $forumarray[$eintrag]["Datum"] );?>
           um <?php wp( $forumarray[$eintrag]["Uhrzeit"] );?>
        <?php
       }
       // Eventuell sind noch Kinder mit auszugeben:
       if(is_array($kindarray[$eintrag])) {       // Wenn das ein Array sein sollte, ...
        ?><ul><?php                               // ... dann mach ein <ul> auf, ...
         foreach($kindarray[$eintrag] as $kind) { // ... gehe alle Kinder durch ...
          zeichneBaum($kind,$aktuellerEintrag);   // ... und rufe für jedes Kind zeichneBaum() auf, ...
         }
        ?></ul><?php                              // ... und mach das <ul> wieder zu.
       }

    // Fertig
      ?></li><?php
     }
    ?>
    ---

    Danke schon jetzt

    Stephan

    PS: Also, die sachen wie datenbank, dbpass, dbuser, host habe ich eingetragen :-)

    --
    --
    Ohne Ziel stimmt jede Richtung
    1. Hallo Stephan!

      Aha - hier ist ja die Datei - einen Aufruf von "DBverbinden()" konnte ich aber trotzdem nirgends finden ;-)

      mfg

      norbert =:-)

      1. Was muss ich machen, damit das weg ist?

        --
        --
        Ohne Ziel stimmt jede Richtung
        1. Ok, einfach die {} und das funktion DB verbinden wegmachen, funktioniert aber trotzdem nicht :-(

          Soll ich mal die Seite posten?

          --
          --
          Ohne Ziel stimmt jede Richtung
        2. Hallo Stephan!

          ...
          }else{

          $connection = DBverbinden();    /* <= verbinden - dann erst abfragen ;-) */
          ...
          $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
          $result = @mysql_fetch_array($query);
          ...

          und irgendwo am Schluss:

          mysql_free_result($result);
          mysql_close($connection);

          mfg

          norbert =:-)

          1. Moment, gleich mal ausprobieren...

            --
            --
            Ohne Ziel stimmt jede Richtung
          2. Ich habe das jetzt genauso eingaefügt:

            ---
            }elseif(!preg_match('/[1]+@.+.\D{2,5}$/', $_POST['email'])){ // Überprüfung ob die Email-Addresse das Format name@domain.tld hat
            echo '<p align="center">Bitte geben Sie eine gültige E-Mailadresse ein.<br><br><a class=style1 href="index.php3?site=anmelden">Zurück</a></p>';
            }else{

            $connection = DBverbinden();

            }elseif($_POST['password'] != $_POST['password2']) {
            echo '<form action="index.php3?site=anmelden" method="post">';
            echo '<p align="center">Die Passwörter stimmen nicht überein!<br><br>';
            ---

            Er sagt:

            Parse error: parse error in /home/www/web1027/html/lexikon/anmelden.php on line 92

            Was heisst das?

            --
            --
            Ohne Ziel stimmt jede Richtung

            1. ^@ ↩︎

            1. Ich muss jetzt weg, wäre toll, wenn ihr mir trotzdem helfen könnt...

              --
              --
              Ohne Ziel stimmt jede Richtung

            2. Hallo Stephan!

              Da Dein Code so viele Else enthält, kann ich nicht wirklich helfen.

              Allerdings habe ich DBverbinden vor den Abfragen eingefügt - orientiere Dich also and den Zeilen darunter!

              Vorher hast Du gepostet, dass Du DBverbinden gelöscht hast - ich hoffe, das wurde wieder rückgängig gemacht, sonst kann natürlich die Funktion nicht aufgerufen werden! Also einfach mal alles so lassen, wie es vorher war und nur vor den "queries" die Datenbank verbinden.

              mfg

              norbert =:-)

  2. Hello,

    bitte nur das Problem, nicht deine ganze Vita ;-)

    Danke

    Tom

    1. Hä?

      --
      --
      Ohne Ziel stimmt jede Richtung
      1. Hallo Stephan,

        Hä?

        Tom will damit sagen, dass du nicht einfach den kompletten Code posten sollst, sondern nur die Stelle an der das Problem auftritt. Da dein Code ziemlich unleserlich ist, ist es so etwas schwierig den Fehler zu finden.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Oh, OK
          edit gibts nicht, oder? :-(

          --
          --
          Ohne Ziel stimmt jede Richtung
          1. Ähem,

            edit gibts nicht, oder? :-(

            sollen wir Dir helfen, oder sollen wir Deine Arbeit machen?
            Ich find's schon etwas dreist.

            Tom

            1. Tom, ich glaube, Du hast mich fehlverstanden, ich meinte, ob ich meine eigenen Beiträge editieren kann und so etwas Code wegmachen kann, damit nicht so viel in meinem Posting ist...

              --
              --
              Ohne Ziel stimmt jede Richtung
  3. Hallo Stefan!

    Abgesehen davon, dass mir bei so viel Code die Augen schmerzen - verbindest Du Dich auch irgendwo mit der Datenbank?

    Könnte natürlich hier drin stecken - aber wer weiß?

    include("funktionen.php");

    mfg

    norbert =:-)

    1. Ich habe funktionen.php noch unten drunter gepostet...

      --
      --
      Ohne Ziel stimmt jede Richtung
      1. Hallo Stephan!

        Offenbar nicht ganz selbst geschrieben - oder ;-)

        Sonst solltest Du wissen, was "Deine" Funktion "DBverbinden" so tut und dass Du damit erst mal eine Verbindung zur Datenbank herstellen musst, bevor Du abfragen oder sonst was damit tun kannst. Also am Beginn der Transaktionen Datenbankverbindung öffnen - am Schluss wieder schliessen.

        mfg

        norbert =:-)

  4. Moin!

    In der includierten Datei hast Du eine Funktion:

    function connid() {
    ...
    return $connid;
    }

    Ich habe aber nichts gefunden, wo Du diese aufrufst. Natürlich kann ich ein:

    $connid=connid();

    in einer der beiden Dateien überlesen haben.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Das heisst...

      Wo müsste ich das einbinden? (theoretisch, suchen kann ich dann selbst, brauche nur ob beim schreiben oder so...)

      --
      --
      Ohne Ziel stimmt jede Richtung
      1. Moin!

        Wo müsste ich das einbinden? (theoretisch, suchen kann ich dann selbst, brauche nur ob beim schreiben oder so...)

        Bevor Du die Datenbank irgendetwas fragst...

        [x] Informiere Dich nochmal darüber, wie man den Connect zur Datenbank aufbaut... und eine Datenbank zur Benutzung auswählt sowie die Verbindung abbaut.

        Eine, aber mit Sicherheit nicht die beste Adresse für Informationen:
        http://www.selfphp.info/funktionsreferenz/mysql_funktionen/mysql_connect.php

        Die bessere Adresse:
        http://de.php.net/manual/de/function.mysql-connect.php

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.