Programmieren – die neusten Beiträge

PHP Login-System: Verschiedene User auf jeweiliges Skript?

Hey.

Ich hab auf meinem XAMPP Server eine Datenbank mit drei festen Usern. Diesen sind ein Nutzername/ID (z.B. 4644786744) und ein Passwort (z.B. 4vv41ge6w) zugewiesen.
In einer weiteren Datenbank stehen Datensätze mit Lizenzschlüsseln.

Nehmen wir an, es die Nutzer-IDs der User sind folgende:

ID von User-01: 64154186756
ID von User-02: 56416816489
ID von User-03: 47485694587

Angenommen, die Datenbank mit den Schlüsseln ist folgende:

LIZENZSCHLÜSSEL ID

v64v6d04s1vgb68rv 64154186756
b41aswgvb0n041nd4 64154186756
gbv145nj1r410ndss 64154186756
gvsagvb104gv84410 56416816489
w41fdw01scd485sw1 56416816489
gedavge68v1408041 47485694587

User-01 hat 3 Schlüssel. User-02 hat 2 Stück, und User-03 hat einen Lizenzschlüssel.

Meine Frage nun:

Ich möchte jetzt ein Login Formular haben, mit dem sich z.B. User-02 mit seiner ID als Nutzername und seinem Passwort als Passwort anmelden kann und so dann die zu ihm gehörigen Lizenzen einsehen kann.

Zu den drei Nutzern habe ich jeweils eine php-Datei. Führt man die Datei für User-03 aus, werden die dem User-03 zugewiesenen Lizenzen ausgegeben.

Wie schaffe ich es, dass wenn sich ein User anmeldet, dass das Skript dann auch auf "seine Datei" zugreift?

Ein bisschen Code wäre z.B. auch sehr hilfreich :)

Eine etwas längere Frage...
Aber vielen Dank für jede Antwort und Hilfe.

Computer, Technik, SQL, HTML, programmieren, Login, Datenbank, MySQL, PHP, Technologie, xampp

Wie kann ich die Funktionen meiner Lagerverwaltung in Java erneut anzeigen lassen?

Hey zusammen!

Ich mache aktuell einen Kurs zur Programmiererin in Java und stehe noch am Anfang.

Aufgabe war es, eine Lagerverwaltung mit maximal 75 Kisten, einigen Funktionen und einem mehrdimensionalen Array zu erstellen.

Mittlerweile habe ich etwas zusammengebracht, jedoch scheitert es nun nur noch an einem Punkt:

Wenn ich das Programm starte kann ich eine Funktion auswählen und die Daten einer Kiste z.B. eingegeben. Jedoch startet dann immer wieder die gleiche Funktion und nicht erneut die Abfrage, welche Funktion gewählt werden soll. Wie kann ich einstellen, dass nach jeder Eingabe erneut nach der Funktion gefragt wird?

Ich hoffe es ist verständlich erklärt. Leider kann ich den kompletten Quelltext nicht rein kopieren. Es wird mir als zu lang angezeigt. Daher nur der Part mit der Funktionsauswahl. Vielleicht reicht das ja schon.

  public static void main(String[] args) {
    // Die Vereinbarung des Arrays
    int [][] lagerverwaltung = new int[75][4];
  
    // Auswahl der Funktion
    String funktionEinlesen;
    char funktion;
  
    System.out.println("Folgende Funktionen stehen Ihnen zur Auswahl: \n");
    System.out.println("A \t Eingabe einer neuen Kiste");
    System.out.println("B \t Löschen einer Kiste");
    System.out.println("C \t Ändern einer Kiste");
    System.out.println("D \t Daten einer Kiste anzeigen");
    System.out.println("E \t Daten aller Kisten anzeigen");
  
    funktionEinlesen = JOptionPane.showInputDialog("Wählen Sie eine Funktion");
    funktion = funktionEinlesen.charAt(0);
  
    // Auswahl auswerten
    switch(funktion) {
      case 'a':
      case 'A':
        System.out.println("\nSie haben \"Eingabe einer neuen Kiste\" gewählt");
        eingabe(lagerverwaltung);
        break;
      case 'b':
      case 'B':
        System.out.println("\nSie haben \"Löschen einer Kiste\" gewählt");
        löschen(lagerverwaltung);
        break;
      case 'c':
      case 'C':
        System.out.println("\nSie haben \"Ändern einer Kiste\" gewählt");
        ändern(lagerverwaltung);
        break;
      case 'd':
      case 'D':
        System.out.println("\nSie haben \"Daten einer Kiste anzeigen\" gewählt");
        anzeigen(lagerverwaltung);
        break;
    }
  
    System.exit(0);
  }
}
Computer, Technik, programmieren, Java, Technologie, Spiele und Gaming

Html/CSS Text neben Bild?

Hallo, ich arbeite seit ungefähr drei Monaten mit html und habe jetzt ein Problem: Ich will einen Text neben mein Bild platzieren, doch immer wenn ich alles nach links floate zerstört das meine navigationsleiste. Möchte noch anmerken, dass meine Skills zu diesem Thema ziemlich beschränkt sind. Hier findet ihr mein CSS - unten html. Danke für eure hilfe! 😊

.topnav {

background-color: rgb(245, 245, 245);

overflow: hidden;

}

.topnav a {

float: left;

display: block;

color: #1d1d1d;

text-align: center;

padding: 14px 16px;

text-decoration: none;

font-size: 17px;

}

.topnav a:hover {

background-color: #ddd;

color: black;

}

.topnav a.active {

background-color: #3f79e6;

color: white;

}

.topnav .icon {

display: none;

}

@Media screen and (max-width: 600px) {

.topnav a:not(:first-child) {display: none;}

.topnav a.icon {

float: right;

display: block;

}

}

@Media screen and (max-width: 600px) {

.topnav.responsive {position: relative;}

.topnav.responsive a.icon {

position: absolute;

right: 0;

top: 0;

margin-left: 30px;

}

.topnav.responsive a {

float: none;

display: block;

text-align: left;

}

}

@Media screen and (min-width: 601px){

#produkte {

margin-left: 20%;

float: left;

}

}

.produkt {

width: 200px;

border: solid #dedcd9;

background-color: #f6f8fa;

padding: 10px;

margin: 20px;

display: block;

text-align: right;

height: 200px;

}

.produkt img {

width: 180px;

padding: 10px;

display: block;

}

p, a, h1, h2, h3, h4, h5, h6 {

font-family: Arial, Helvetica, sans-serif;

font-display: block;

}

a {

font-size: x-large;

color:#3f79e6;

}

Das ist mein html:

<!DOCTYPE html>

<html lang="de">

<head>

<meta-charset="utf-8">

<link rel="stylesheet" href="style.css">

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>

function myFunction() {

var x = document.getElementById("myTopnav");

if (x.className === "topnav") {

x.className += " responsive";

} else {

x.className = "topnav";

}

}

</script>

</head>

<body>

<div class="topnav" id="myTopnav">

<a href="#home" class="active">Home</a>

<a href="#news">News</a>

<a href="#contact">Contact</a>

<a href="#about">About</a>

<a href="javascript:void(0);" class="icon" onclick="myFunction()">

<i class="fa fa-bars"></i>

</a>

</div>

<div id="produkte">

<div class="produkt" id="schuh"><a href="#schuh"><center><img src="bilder/schuh.jpg" alt="Schuh"></center></a></div>

<div class="desc"><a>Nike Air</a></div><p>Toller Schuh mit dicker Sohle und guter Federung, wird meistens als Lauf- bzw. Freizeitschuh verwendet.</p>

<div class="produkt" id="schuh"><a href="#schuh"><center><img src="bilder/schuh.jpg" alt="Schuh"></center></a></div>

<div class="produkt" id="schuh"><a href="#schuh"><center><img src="bilder/schuh.jpg" alt="Schuh"></center></a></div>

</div>

</body>

</html>

Computer, HTML, programmieren, CSS

Was ist hier genau das Problem (Programmieren = p5.js)?

Ich habe ein Problem mit dem programmieren, da angeblich p5js sagt: There's an error due to \"keyIsDown\" not being defined in the current scope (on line 36 in jspg?

Ich habe mal meinen Code hineinkopiert und hoffe, dass jemand hier mir helfen kann. (Ist ein Projekt für die Schule).

Ich würde gerne das Programm, wie es hier steht, ohne Probleme es zum laufen zu bringen.

let v;

let b;

let n;

let m;

let vGeschwindigkeit;

let bGeschwindigkeit;

let nGeschwindigkeit;

let mGeschwindigkeit;

function setup() {

createCanvas(310, 400);

background('lightgray');

v = -200;

b = -200;

n = -200;

m = -200;

vGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen

bGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen

nGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen

mGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen

}

function draw() {

background(240); // Löscht Bild

rect(10, v, 65, 100);

fill('black');

rect(85, b, 65, 100);

fill('black');

rect(160, n, 65, 100);

fill('black');

rect(235, m, 65, 100);

fill('white');

circle(mouseX, mouseY, 10); // Mauszeigerkreis

fill('black');

}

if (keyIsDown(82)) { //taste r -> Spiel neu

setup();

}

if (mouseIsPressed) {

  rgbFarbwerte = get(mouseX, mouseY);

  if (rgbFarbwerte[0] > 0) {

  v = -200;

  b = -200;

  n = -200;

  m = -200; //Falls man den Hintergrund drückt, dann soll das Spiel nochmal von Anfang an wieder starten.

  }

}

if (mouseIsPressed) {

if (10 < mouseX && mouseX < 75 &&

v < mouseY && mouseY < v + 100) {

v = -200; //Taste 1 geht in die Ausgangslage

vGeschwindigkeit = random(6); //ändert Geschwindigkeit nochmal

}

}

if (mouseIsPressed) {

if (85 < mouseX && mouseX < 150 &&

b < mouseY && mouseY < b + 100) {

b = -200; //Taste 2 geht in die Ausgangslage

bGeschwindigkeit = random(6); //ändert Geschwindigkeit nochmal

}

}

if (mouseIsPressed) {

if (160 < mouseX && mouseX < 225 &&

n < mouseY && mouseY < n + 100) {

n = -200; //Taste 1 geht in die Ausgangslage

nGeschwindigkeit = random(6); //ändert Geschwindigkeit nochmal

}

}

if (mouseIsPressed) {

if (235 < mouseX && mouseX < 310 &&

m < mouseY && mouseY < m + 100) {

m = -200; //Taste 1 geht in die Ausgangslage

nGeschwindigkeit = random(6); //ändert Geschwindigkeit nochmal

}

}

v = v + vGeschwindigkeit;

if (v > height) {

v = -100;

vGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen für Taste 1

}

b = b + bGeschwindigkeit;

if (b > height) {

b = -100;

bGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen für Taste 2

}

n = n + nGeschwindigkeit;

if (n > height) {

n = -100;

nGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen für Taste 3

}

m = m + mGeschwindigkeit;

if (m > height) {

m = -100;

mGeschwindigkeit = random(6); // Eine Zufallszahl zuordnen für Taste 4

}

PC, Computer, programmieren, JavaScript, Informatik, Programmiersprache

Einfaches JavaScript-Spiel per Tastendruck neu starten?

Wir hatten in der Schule den Auftrag ein einfaches JavaScript-Spiel zu programmieren. Ich will das Programm nun durch einen Druck auf die Taste "R" neu starten. Hier ist der Code:

let start,
ziel,
ballradius,
rgbFarbwerte,
x,
y;
function setup() {
  createCanvas(400, 400);
  background('black');
  stroke("white");
  start = circle(60, 390, 10);
  ziel = circle(40, 390, 10);
  ballradius = 2;
  x = 60;
  y = 390;
}
function draw() {
  //lösche bild
  background("black");
  //zeichne Spielfeld
  fill('white');
  stroke("white");
  rect(20, 300, 80, 100);
  rect(50, 300, 100, 60);
  rect(140, 260, 50, 100);
  rect(140, 240, 120, 40);
  rect(230, 170, 30, 100);
  rect(160, 160, 100, 30);
  rect(160, 40, 20, 120);
  rect(160, 40, 100, 10);
  rect(260, 1, 5, 49);
  //zeichne Start-,Endpunkt
  fill("blue");
  stroke("blue");
  circle(60, 390, 10);
  fill("red");
  stroke("red");
  circle(262.25, 10, 10);
  rgbFarbwerte = get(x, y);
  if (rgbFarbwerte[0] === 0 && rgbFarbwerte[1] === 0 && rgbFarbwerte[2] === 0) {
    background("red");
    console.clear();
    console.log("Game over");
  }
  if (rgbFarbwerte[0] === 255 && rgbFarbwerte[2] === 0) {
    background("green");
    console.clear();
    console.log("You win");
  }
  //zeichne Kreis
  stroke("lightgreen");
  fill("lightgreen");
  circle(x, y, 4);
  //steuere Kreis
  if (keyIsDown(68)) { //taste d -> nach rechts
    x = x + 2;
  }
  if (keyIsDown(65)) { //taste a -> nach links
    x = x - 2;
  }
  if (keyIsDown(87)) { // taste w -> nach oben
    y = y - 2;
  }
  if (keyIsDown(83)) { // taste s -> nach unten
    y = y + 2;
  }
}
Computer, Schule, Technik, programmieren, JavaScript, Informatik

Wie kann ich mehrere Münzen in PyGame einsammeln?

Hallo,

ich habe eine Frage zu meinem Programm.

Nachdem ich die dritte Münze in meinem Spiel eingesammelt habe, wird komischerweise die zweite Münze anstatt der Dritten gespawnt. Wie kann ich das ändern? Bzw. hat jemand eine Idee, wie sich das beheben lässt?

Hier ist mein Code:

from random import randint

WIDTH = 600
HEIGHT = 600
score = 0
game_over = False

mario = Actor("mario.png")
mario.pos = 100, 100

coin = Actor("money.png")
coin.pos = 0, 0

def draw():
  screen.fill("green")
  mario.draw()
  coin.draw()
  screen.draw.text("Punkte: " + str(score), color="black", topleft=(10, 10))

  if game_over:
    screen.fill("pink")
    screen.draw.text("Endstand:" + str(score), topleft=(10, 10), fontsize = 60)

def place_coin():
  coin.x = 100
  coin.y = 200

def place_coin2():
  coin.x = 100
  coin.y = 300

def place_coin3():
  coin.x = 100
  coin.y = 400

def place_coin4():
  coin.x = 100
  coin.y = 500

def place_coin5():
  coin.x = 300
  coin.y = 100

def place_coin6():
  coin.x = 300
  coin.y = 300

def place_coin7():
  coin.x = 500
  coin.y = 200

def place_coin8():
  coin.x = 500
  coin.y = 300

def place_coin9():
  coin.x = 500
  coin.y = 400

def place_coin10():
  coin.x = 500
  coin.y = 500

def place_coin11():
  coin.x = 700
  coin.y = 100

def place_coin12():
  coin.x = 700
  coin.y = 300

def time_up():
  global game_over
  game_over = True

def update():
  global score

  if keyboard.left:
    mario.x = mario.x - 4
  elif keyboard.right:
    mario.x = mario.x + 4
  elif keyboard.up:
    mario.y = mario.y - 4
  elif keyboard.down:
    mario.y = mario.y + 4

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin2()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin10()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin4()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin8()

clock.schedule(time_up, 20.0)
place_coin()
programmieren, Pygame

Symfony authentication funktioniert nicht?

Guten Tag,

für mein Symfony-Projekt habe ich beschlossen, das von Symfony miglieferter Security Bundle für die User-Authentifikation zu verwenden.

Ich habe mich nach folgenden Dokuemntationen durchgearbeitet:
https://symfony.com/doc/current/security.html
https://symfony.com/doc/current/security/form_login_setup.html
https://symfony.com/doc/current/testing.html#doctrine-fixtures

Hier meine Dateien:

SecurityController: https://hastebin.com/tiruyoteco.php

LoginAuth. https://hastebin.com/abewapanod.php

Dummy User: https://hastebin.com/epemuqihoz.php

Ich habe nun einen SecurityController, einen LoginFormAuthenticator, eine login.html.twig und eine security.yaml.

All diese Sachen sind auto_generiert und wurden von mir nicht verändert. Ferner habe ich einen dummy User angelegt, welcher den Benutzernamen "Test" und das Passwort "Test" hat.

Möchte ich mich jetzt testweise einloggen, lädt die Seite einfach neu, ohne dass ich einen Error oder einen Success bekomme.

Hier der Code der login.html.twig [2]

{% extends 'base.html.twig' %}

{% block title %}Log in!{% endblock %}
  {% block home %}active{% endblock %}
{% block stylesheets %}
    <link href="{{ asset("css/login.css") }}" rel="stylesheet">
{% endblock %}

{% block body %}

    <div class="container">
        <form class="text-light" method="post">
            {% if error %}
                <div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
            {% endif %}

            {% if app.user %}
                <div class="mb-3">
                    You are logged in as {{ app.user.username }}, <a href="{{ path('app_logout') }}">Logout</a>
                </div>
            {% endif %}
            <h2 class="text-center mb-5">Login</h2>
            <div class="mb-3">
                <input type="text" class="form-control text-light form-control-lg " placeholder="Username" id="exampleInputEmail1" value="{{ last_username }}" name="username" aria-describedby="emailHelp" required>
            </div>
            <div class="mb-3">
                <input type="password" name="password" placeholder="Password" class="form-control text-light form-control-lg " id="exampleInputPassword1" required>
            </div>
            <div class="d-flex justify-content-between">
                <button type="submit" class="btn btn-outline-success">Einloggen</button>
                <a href="./register" class="btn btn-outline-primary">Registrieren</a>
            </div>
            <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
        </form>
    </div>
{% endblock %}

meine Frage ist nun, an welchen Stellen ich nach dem fehler suchen soll oder ob ihr schon eine erkennt.

Vielen Dank.

mfg. Anton

Computer, Technik, programmieren, Framework, PHP, Webentwicklung, Laravel, Backend-Developer

AttributeError: 'PhotoImage' object has no attribute 'shape'?

Ich bin derzeit dabei mit tkinter, opencv und mit Media Pipe Framework zu arbeiten. Dabei möchte ich Bilder Hochladen können und die hochgeladenen Bilder soll mithilfe von Mediapipe die Hand Landmarks erfassen. Mit Hand Landmarks meine ich alle 21 Positionen eines Hand zu erkennen (Hier findet ihr mehr Infos dazu: https://google.github.io/mediapipe/solutions/hands.html ). Leider bekomme ich mit meiner erstellten Implementierung folgende Fehlermeldung:

INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:/Users/bj/projects/pro1/pictureMp.py", line 31, in imageLandmarks
    height, width, _ = image.shape
AttributeError: 'PhotoImage' object has no attribute 'shape'

Was kann ich dagegen machen? Hier ist mein aktueller Code:

def imageLandmarks():
    global panelA
    with mpHands.Hands(static_image_mode=True, max_num_hands=2, min_detection_confidence=0.5) as hands:
        select_image.path = filedialog.askopenfilename()
        filename = os.path.basename(select_image.path)

        if len(select_image.path) > 0:
            image = cv2.imread(select_image.path)
            image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
            image = Image.fromarray(image)
            image = ImageTk.PhotoImage(image)

            height, width, _ = image.shape
            results = hands.process(image)

            num_cords = 21
            landmarks = ['class']
            for val in range(1, num_cords + 1):
                landmarks += ['x{}'.format(val), 'y{}'.format(val), 'z{}'.format(val)]

                if results.multi_hand_landmarks:
                    for num, hand in enumerate(results.multi_hand_landmarks):
                        mpDraw.draw_landmarks(image, hand, mpHands.HAND_CONNECTIONS)
programmieren, Python, opencv, Tkinter

Java - Komponenten aus einem Graph berechnen / Algorithmus?

Hallo, ich arbeite gerade an einem Graphenprogramm und der nächste Schritt ist es ,mir die Zusammenhangskomponenten des Graphes auslesen zu lassen.

Eine dafür notwendige Wegmatrix habe ich schon programmiert:

public void berechneKomponenten()
    {
        
        for (int i = 0; i < Matrix.length; i++)
        {
            for(int j = 0; j < Matrix[i].length; j++)
            {
                if(WegMatrix[i][j] == 1)
                {
                    int buchstabe_int = i+65;
                    char buchstabe_char = (char) buchstabe_int;
                    
                    System.out.print(buchstabe_char + ",");
                }                        
            }        
        }
    }

Die Ausgabe sieht so aus:

A, A, A, B, B, C, C, C, D, D, D, E, E

--------------------------------------------------------

Und das ist im Prinzip auch richtig, denn:

Die Buchstaben (A-E) habe ich zum Verständnis hinzugefügt.
-------------------------------------------------------------------------------------

Meine Wegmatrix hat:

  • 3 A's
  • 2 B's
  • 3 C's
  • 3 D's
  • 2 E's

Verglichen mit meiner Ausgabe:

A, A, A => 3 A's
B, B => 2 B's
C, C, C => 3 C's
D, D, D = > 3 D's
E, E => 2 E's

-----------------------------------

Doch die Ausgabe sollte so aussehen: (Siehe K1 und K2)

bzw so:

Wie schaffe ich das?

Danke!

Bild zum Beitrag
Computer, programmieren, Java, Informatik

Eine Jar-Datei in der Eingabeaufforderung erstellen?

Ich lerne gerade Java mit einem Buch und bin gerade dabei, eine Jar-Datei über die Eingabeaufforderung zu erstellen. Doch da gibt es etwas das ich nicht verstehe und ich hoffe, dass ihr mir es erklären könnt.

Das ist die Klasse, die ich in eine Jar-Datei umwandeln soll:

package de.galileocomputing.schroedinger.java.kapitel13;

import java.io.IOException;

public class HalloSchroedinger {

    public static void main(String[] args) throws IOException{
        System.out.println("Hallo Schrödinger");
    }

}

Das kompilieren bekomme ich ohne Probleme in der cmd hin:

javac HalloSchroedinger.java

Auch das erstmalige Erstellen einer Jar-Datei:

jar cf SagHallo.jar C:\Users\...\Documents\Java\SchrödingerProgrammiertJava\src\de\galileocomputing\schroedinger\java\kapitel13\HalloSchroedinger.java

Beim Hinzufügen der auszuführenden Main-Methode klappt es aber nicht mehr... In meinem Buch sieht der Text so aus:

jar ufe SagHallo.jar de.galileocomputing.schroedinger.java.kapitel13.HalloSchroedinger de\galileocomputing\schroedinger\java\kapitel13\HalloSchroedinger.class

Es ist ja eigentlich fast genau so, wie beim einfachen Erstellen der Jar-Datei. Doch der Teil nach dem "SagHallo.jar" bis zum Anfang des Pfades gibt mit Rätsel auf. Was ist das? Wie lautet der bei mir?

Das habe ich schon probiert...

C:.Users.'''.Documents.Java.SchrödingerProgrammiertJava.src.de.galileocomputing.schroedinger.java.kapitel13.HalloSchroedinger

...dann wird aber eine "ClassNotFoundException" geworfen.

Ich hoffe ihr könnt mir helfen. Vielen Dank im voraus.

(Ich weiß übrigens, dass man es normalerweise nicht über die CMD macht.)

Computer, Technik, programmieren, Java, cmd, Eingabeaufforderung, JAR, Technologie

Meistgelesene Beiträge zum Thema Programmieren