PHP Anmelde-skript insertet nicht in die DB

Hallo,
ich habe ein Problem mit einem PHP-skript. Das Anmeldungs-skript meiner geplanten Seite möchte nicht funktionieren. hier ist es: www.xabyt.de/Project_gotham_green/index2.php?seite=anmeldung
Das Problem ist, das es bei der „if $num>0“-abfrage immer in den else-zweig springt, obwohl ich alle datenbanktechnischendaten richtig eingegeben habe.
Das PHP-Skript:
[php]

<?php if (sha1($_POST[****]) == $_SESSION['security_*****']) { mysql_connect("******","*****","*****"); mysql_select_db("usr_web229_3"); $sqlab = "insert into user"; $sqlab .= "(nickname, passwort, wohnort, vorname, nachname, e-mail, land, straße, postleitzahl, geschlecht, alter ) values "; $sqlab .= "('$nickname', 'SHA1($passwort)', '$wohnort', '$vorname', '$nachname', '$email', '$land', '$strasse', '$plz', '$geschlecht', '$alter')"; mysql_query($sqlab); $num = mysql_affected_rows(); if ($num>0) { echo "erfolgreich angemeldet"; } else { echo "Anmeldung fehlgeschlagen."; } } else { echo "Du hast einen falschen sicherheitscode eingegeben."; } ?>

[/php]

Das Formular:
[html]

Nickname:
Passwort:
E-mail:
Vorname:
Nachname:
Wohnort:
Land: Deutschland Schweiz Österreich Sonstige
Straße:
Postleitzahl:
Alter: 6 7 8 9 10 11 12 13 14 15 16 17 18 und älter
</select></td>
Geschlecht: männlich weiblich
Code in das Feld übertragen:


  [/html] Es wird auch eine Java-skript funktion verwendet die im Quelltext der oben genannten URL einsehbar ist. Bitte um Hilfe von Experten, auf anfrage gebe ich weitere daten preis. Danke.

sha1($_POST[****])

Was zensierts du da? du musst den index nehmen und nicht den value
(falls ich das jetzt richtig verstehe)

MFG
Alti

lies dir mal bitte meinen beitrag zu register_globals durch.

Nils aka XraYSoLo

@ Alti, ich kann dir nicht ganz folgen, ich verstehe nicht was du meinst.

@ Xraysolso: Ich danke, und hoffe das wird mein problem lösen.

Bei weiteren komplikationen melde ich mich wieder.

EDIT:
Auch mit $_POST variablen geht es nicht… es muss an etwas anderem liegen…

Beitreiben wir doch ein bischen debugging:

anstatt:

[php]
mysql_connect(„„,“„,“****“);
[/php]

wird:

[php]
$verbindung = mysql_connect(„„,“„,“****“) OR die(mysql_error());
[/php]

anstatt:

[php]
$sqlab = „insert into user“;

 $sqlab .= "(nickname, passwort, wohnort, vorname, nachname, e-mail, land, straße, postleitzahl, geschlecht, alter ) values ";
  $sqlab .= "('$nickname', 'SHA1($passwort)', '$wohnort', '$vorname', '$nachname',  '$email',  '$land',  '$strasse',  '$plz', '$geschlecht', '$alter')";

  mysql_query($sqlab);

$num = mysql_affected_rows();

[/php]

wird:

[php]
$sqlab = "insert into user ";
$sqlab .= "(nickname, passwort, wohnort, vorname, nachname, e-mail, land, straße, postleitzahl, geschlecht, alter ) values ";
$sqlab .= „(‚$nickname‘, ‚SHA1($passwort)‘, ‚$wohnort‘, ‚$vorname‘, ‚$nachname‘, ‚$email‘, ‚$land‘, ‚$strasse‘, ‚$plz‘, ‚$geschlecht‘, ‚$alter‘)“;

  mysql_query($sqlab) OR die(mysql_error());

 $num = mysql_affected_rows() OR die(mysql_error());

[/php]

nun man könnte jetzt die if abfrage bisschen umschreiben was sicherer wäre:

statt:

[php]
mysql_query($sqlab);

  $num = mysql_affected_rows();

if ($num>0)
{
[/php]

wird:

[php]
$result = mysql_query($sqlab);

if ($result)
{
[/php]

hoffe ich konnte dir helfen