Was ist hier Falsch

peper

Erfahrenes Mitglied
Hi wisst ihr warum das hier so garnicht will
Code:
$result = mysql_query ("UPDATE hegar SET Nutzung = '$nutz', Email = '$email' WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
 
Hi,

Könntest du vielleicht etwas mehr liefern als den Query und "geht nicht"? :confused:
Was ist genau dein Problem und wie äußert es sich (Fehlermeldungen)?
Steht in den diversen Variablen das richtige drin?
 
Ja klar Sorry.

Also Ich Versuche Grade
An diesem Standard User Session Script eine Funktion einzubauen mit der ich in die Bereits vohandene und schon beschriebene mysql Datenbank Eintragen kann wer die Neue Nutzungsbedingung Aktzepriert hat und wer nicht.
Desweiteren will ich nun auch alle Email Adressen haben.

Die Daten kommen auch bei der Funktion an

PHP:
   function UserNutzungsBed ()
    {
    $result = mysql_query ("UPDATE AdminUser SET Nutzung = '$nutz', Email = '$email' WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
     }

Nur leider werden sie nicht Eingetragen :mad:

Ich denke das er die UserId nicht wirklich ausliest.

PHP:
<?php

/***

  * PrŸfen, ob der User berechtigt ist, einen Login durchzufŸhren.

  */

  function CheckUserLogin ($un, $pw, $session) {

    $result = mysql_query("SELECT UserId,Name,Vorname,UserName,UserPasswd,Nutzung,Email FROM AdminUser WHERE UserName='$un' AND UserPasswd=MD5('$pw')") or mysql_error();

    $zeile = mysql_fetch_array($result);



    if ( $zeile["UserId"] == "" )

    {

    echo"<font color='#b51e24' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>
    Zugangsdaten falsch! Bitte erneut versuchen!</strong></font>";

    }

    else

    {

      $result = mysql_query("UPDATE AdminUser SET UserSession = '".$session."',UserLogin = NOW() WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();

      header ("Location: admin.php");

    }

  }
   /***

  * Nutzungsbedingungen Aktzeptiert Übertragen

  */
   function UserNutzungsBed ()
    {
    $result = mysql_query ("UPDATE AdminUser SET Nutzung = '$nutz', Email = '$email' WHERE UserId = '".$zeile["UserId"]."'") or mysql_error();
     }

Wäre schön wenn mir jemand helfen könnte.
Lieben Gruß Lars
 
Heißt das nun das mir die ersten Variablen garnicht zur Verfügung stehen.
Hmm ich denke grade Hartnäckig darüber nach wie ich das dann mit einer Globalen variablen machen könnte. Aber mir fällt grade so garnix ein.

Aso Danke noch das ist ein Super Link :)

LG Lars
 
Zuletzt bearbeitet:
Na, dann bist du hier auch vollkommen richtig. Aber um den Hinweis von Gumbo etwas weiter auszuführen: Die Variablen $nutz, $email und $zeile["UserId"] stehen dir in der Funktion nicht zur Verfügung. Die Variablen müssen folglich an die Funktion übergeben werden:
PHP:
function UserNutzungsBed ( $nutz , $email , $user_id )
{
    // Optional Strings entschärfen
    $nutz = mysql_real_escape_string( $nurz );
    $email = mysql_real_escape_string( $email );
    $user_id = mysql_real_escape_string( $user_id );

    // Datenbankabfrage
    $query = "UPDATE 
            AdminUser 
        SET 
            Nutzung = '" . $nutz . "', 
            Email = '" . $email . "' 
        WHERE 
            UserId = '" . $user_id . "' 
        LIMIT 0,1";
    $result = mysql_query ( $query ) 
            or die( mysql_error() );
}

// Aufrufen der Funktion in deinem Fall
UserNutzungsBed ( $nutz , $email , $zeile["UserId"] );

PS: Kleiner Tipp (hilfreich vor allem bei DB-Querys :)) http://tut.php-q.net/einruecken.html
 
Zuletzt bearbeitet:
Hi,
danke für die super Hilfe.

Klappt nur leider noch nicht.
@ muh kuh hab das von dir bei mir mal reingesezt bekomme allerdings nun sobald ich die Funktion bemühe immer die Fehlermeldung
Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 8

@tobee Dadurch bekomme ich leider auch keine andere Fehlermeldung oder ich mache was Falsch.

nochmal Danke(auch für das Einrücken werde es mir Merken) und LG
Lars
 
Mach doch einfach was in der Fehlermeldung steht: prüfe die Syntax der endgültigen Abfrage an der genannten Stelle.
 
Zurück