Simple App mit Datenbank programmieren?

Hallo, ein Freund und ich haben das Angebot bekommen eine App für unsere Gemeinde zu programmieren.

Da wir beide relativ unerfahren im Bereich von Apps für Handys sind, haben wir einige Fragen. Es wäre nett, wenn ihr diese beantworten könntet.

Es ist so, dass wir eine App programmieren sollen, welche zur Ermittlung von Zeiten in einem Trainingsparkour in unseren Dorf sein soll.
Diese soll anfangs mit einem Startbildschirm starten und auf der "nächsten Seite" dann in 2 Kategorien unterteilt sein.
Wählt man eine dieser Kategorien aus, so kommt man in einen neuen Bereich, in dem man die einzelnen Stationen auswählen und anschließend einen Timer/Counter starten kann (bei gewissen Aufgaben spielt man gegeneinander, dort sollte man dann jeweils pro Person einen Counter haben).
Außerdem sollte es jeweils eine Erklärung zu den Aufgaben geben.
Wir haben auch überlegt eine Bestenliste anzulegen (persönlich, aber auch allgemein für alle Teilnehmer)

Das ist natürlich vom Grundkonzept nicht die schwerste App jemals, aber wie gesagt sind wir neu in diesem Bereich und es gibt 2 Hauptfragen, welche uns beschäftigen:

1.) Welche Möglichkeit ist die Beste, um die App nur einmal zu programmieren, aber auf beiden Betriebssystemen zu benutzen (Flutter etc.)

2.) Was ist ein guter Weg, um diese Bestenliste anzulegen? Braucht man dafür so etwas wie einen Server/Datenbank?

Danke schonmal im Voraus für alle Antworten!

Grüße Alex

App, programmieren, iOS, Android
PHP Warning: Undefined array key "status"?

Hey,

Ich habe ein Array in PHP programmiert, welches per MySQL alle Sachen selektiert.

Nun werden aber die Arrays nicht gefunden.

Code:

$stmt = $link->prepare('SELECT * FROM tickets ORDER BY created DESC');
$stmt->execute();
$resultSet = $stmt->get_result();

// pull all results as an associative array
$tickets = $resultSet->fetch_all();

<?php foreach ($tickets as $ticket): ?>
  <a href="view.php?id=<?= $ticket['id'] ?>" class="ticket">
    <span class="con">
      <?php if ($ticket['status'] == 'open'): ?>
        <i class="far fa-clock fa-2x"></i>
      <?php elseif ($ticket['status'] == 'resolved'): ?>
        <i class="fas fa-check fa-2x"></i>
      <?php elseif ($ticket['status'] == 'closed'): ?>
        <i class="fas fa-times fa-2x"></i>
      <?php endif; ?>
    </span>
    <span class="con">
      <span class="title"><?= htmlspecialchars($ticket['title'], ENT_QUOTES) ?></span>
      <span class="msg"><?= htmlspecialchars($ticket['msg'], ENT_QUOTES) ?></span>
    </span>
    <span class="con created"><? date('F dS, G:ia', strtotime($ticket['created'])) ?></span>
  </a>

Fehler:

C:\xampp\htdocs\ticket.php on line 271
" class="ticket">
Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 273

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 275

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 277

Warning: Undefined array key "title" in C:\xampp\htdocs\ticket.php on line 282

Warning: Undefined array key "msg" in C:\xampp\htdocs\ticket.php on line 283

Kann mir jemand sagen, ob ich etwas übersehen habe?

Computer, Webseite, programmieren, MySQL, PHP, Webentwicklung
wie könnte ich diesen Java Code kürzer/besser machen?

Hangman in Java

Wie könnte man so einen Code kürzer machen ?

public class hangiman {
    public static void main(String[] args) {
        System.out.println("Starting game");

        String notUsed = "abcdefghijklmnopqrstuvwxyz";

        String[] words = new String[]{"computer", "mouse", "screen", "display", "language"};

        String randomWord = words[(int) (Math.random() * words.length)];

        System.out.println("The word has " + randomWord.length() + " letters.");

        char[] letters = new char[randomWord.length()];

        Arrays.fill(letters, '.');
        int lives = 3;

        Scanner scanner = new Scanner(System.in);

        while (lives > 0) {
            System.out.print("Lives: ");

            for (int i = 0; i < lives; i++) {
                System.out.print("♥");
            }
            System.out.println();

            System.out.println("Input: ");

            String input = scanner.nextLine();

            char letter = input.charAt(0);


            boolean isGuessCorrect = false;
            for (int i = 0; i < randomWord.length(); i++) {
                char l = randomWord.charAt(i);

                if (l == letter) {
                    letters[i] = l;
                    isGuessCorrect = true;
                }
            }
            if (!isGuessCorrect) {
                lives = lives - 1;
            }
            boolean isGameFinished = true;

            System.out.print("Word: ");


            for (char c : letters) {
                if (c == '.') {
                    isGameFinished = false;
                }
                System.out.print(c);
            }
            System.out.println();

            notUsed = notUsed.replace(letter, '.');
            System.out.println("Not used " + notUsed);

            System.out.println("----------------------------------");

            if (isGameFinished) {
                System.out.println("You won!");
                break;
            }
        }
        if (lives == 0) {
            System.out.println("You lost! The word was: " + randomWord);
        }
        System.out.println("Exiting game");
    }
}

Computer, programmieren, Java, Informatik
Php Hashen mit "Salz" / PASSWORD_DEFAULT?
$password = "passwort";
$hashed = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($password, $hashed)){
    echo $hashed;
}

Also so würde ich jetzt den string "passwort" hashen mit etwas vollkommen zufälligem / salz und es zb auf meiner datenbank speicher, alles schön und gut.

Jetzt kommt das große aber, wenn ich die Seite von irgendwo anders aufrufe. Dann mich einloggen will wird das eingegebene wieder gehasht mit einem salz um es mit der sql datenbank abzugleichen.

Das geht aber garnicht weil dieses Salz doch immer ein anderer ist wenn ihr versteht was ich meine.

Hashes ohne salz vergleichen kriege ich schonmal ohne probleme hin.

zum beispiel so würde mein login/abgleich mit der datenbank aussehen :

if(isset($_POST["username"]) && isset($_POST["password"])){

$hash = hash("sha512", $_POST["password"]);

$mysqli1 = new mysqli($servername, $user, $pw, $db);
$result = $mysqli1->query('SELECT id FROM user WHERE username = "'. $_POST["username"]. '"  ');
$result1 = $mysqli1->query('SELECT id FROM user WHERE password = "'. $hash. '"  ');

if($result->num_rows == 1 and $result1->num_rows == 1 ) {
  echo "Login erfolreich"; 
} else {
    echo "Falsches Passwort oder Nutzername";
}
$mysqli1->close();
}

Hab jetzt mysqli benutzt weil es irgendwie übersichtlicher ist, und ob das anfällig für Sql Injections oder so ist spielt eigentlich keine rolle erstmal. Manche stört das

PC, Server, Computer, Technik, Web, Webseite, programmieren, Passwort, Hash, Informatik, IT-Sicherheit, Kryptographie, MySQL, PHP, Programmiersprache, Technologie, web-development, Web Developer
Wie vererbt man PHP Bedingungen beim paginieren einer Tabelle an die folgenden Seiten?

Hallo,

eigentlich habe ich 2 Fragen zu PHP, aber das hätte nicht alles ich die Überschrift gepasst.

Frage 1

Ich erlerne gerade PHP und MySQL. Dafür habe ich in einer Datenbank eine Tabelle über Internet Radiostationen angelegt, mit Sendername, Land, Kontinent, StreamURL, Genre usw. Über ein Auswahlmenü lässt sich die Tabelle nach Sendernamen, Land oder Kontinent sortieren. Das klappt soweit auch. Damit aber nicht mehr als 20 Radiostationen auf einer Seite erscheinen, habe ich unter Zuhilfenahme eines Buches die Seiten paginiert (Steige da aber noch nicht so richtig durch). Wenn ich nun die Radiostationen nach Land oder Kontinent sortiere, dann klappt das zwar auf der ersten Seite aber auf der zweiten Seite ist wieder alles nach den Sendernamen sortiert.

Was muss ich machen, damit die Sortier – Auswahl auch an die folgenden Seiten übergeben wird?

Hier ist der PHP Code

<?php

$sortieren = $_POST['sortieren'];

if($sortieren == "Sendername") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY sendername LIMIT $start, $anzahl_pro_seite");

} elseif($sortieren == "Kontinent") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY kontinent LIMIT $start, $anzahl_pro_seite");

} elseif($sortieren == "Land") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY land LIMIT $start, $anzahl_pro_seite");

}

?>

Frage 2

Wie muss die Fall – Entscheidung formuliert werden?

Natürlich soll man Radiosender über ein Eingabeformular finden können. Auch das funktioniert. Allerdings möchte ich, wenn es keinen Sender mit dem entsprechenden Namen gibt, das ein Text wie z. B. "Leider kein Sender mit diesem Namen zu finden" erscheint. Dafür habe ich in der Fall – Entscheidung folgende 2 Dinge ausprobiert:

if($zeile == !array()) {

echo "Leider gab es keinen Sender mit dem Namen";

}

Das klappt nicht.

if($zeile == false) {

echo "Leider gab es keinen Sender mit dem Namen";

}

Das klappt auch nicht.

if($zeile == null) {

echo "Leider gab es keinen Sender mit dem Namen";

}

War auch 'ne Nullnummer :)

Hier ist der komplette Code dazu:

<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<label>Sendername eingeben:</label><br />

<input type="text" name="suchbegriff"/><br /><br />

<input type="submit" name="gesendet"/>

</form>

<?php

if(isset($_POST['gesendet'])) {

$suchbegriff = htmlspecialchars($_POST['suchbegriff']);

echo $suchbegriff . "<br />";

$db = mysqli_connect("localhost", "root");

mysqli_set_charset($db, "utf8");

mysqli_select_db($db, "radio2");

$sql = "SELECT * FROM sender WHERE sendername LIKE '%$suchbegriff%' ";

$erg = mysqli_query($db, $sql);

while($zeile = mysqli_fetch_assoc($erg)) {

echo $zeile['sendername'] . " ". $zeile['kontinent'] ." ". $zeile['land'] . " ". $zeile['ort'] . " ". $zeile['genre'] . " ". $zeile['streamurl'] . "<br /><br />" ;

}

if($zeile == !array()) {

echo "Leider gab es keinen Sender mit dem Namen";

}

}

?>

</body>

Danke für's lesen.

Computer, programmieren, MySQL, PHP
Smartphone macht sich selbstständig und lernt laufen?

Mein 3 Jahre altes ZTE Smartphone hat gestern Nacht um Punkt 1 Uhr wo ich meinen Handy Wecker einstellen wollte angefangen sich selbstständig zu machen. Beim einstellen der Uhrzeit hat das Smartphone plötzlich angefangen selbst die Zeit einzustellen. Ich bin auf 9 Uhr gegangen und das Smartphone ist hoch auf 12:30 Uhr. Dann habe ich die App geschlossen und dann ist es auf Galerie gegangen und hat sich Fotos + Videos angeschaut. Als es dann in die Systemeinstellungen gegangen ist habe ich es ausgeschaltet. Ich dachte erst an einen technischen Defekt, also das der Touchscreen kaputt ist oder die Software fehlerhaft. Ich habe es aber wieder eingeschaltet und als dann die Display Entsperrung kam, hat mein Smartphone eigenständig einen falschen Versuch unternommen das Display zu entsperren. Da war mir klar das es ein Touchscreen Problem sein muss. Doch dann beim 2. Versuch hat das Smartphone es geschafft das Display zu entsperren. Mein Entsperrungs Muster ist ein C. Das hätte es unmöglich schaffen und wissen können wenn es nur ein Touchscreen Defekt ist. Also bleibt die einzige Möglichkeit das mein Handy gehackt wurde und es jemand von außen steuert. Das Internet war auch angeschaltet. Ich habe dann das Internet ausgeschaltet, aber auch das hat nicht geholfen. Ich habe es dann einfach ausgeschaltet und heute morgen ist wieder alles normal so als ob nichts wäre. Ist es möglich das mein Smartphone gehackt wurde gestern Abend und jemand das Smartphone von außen gesteuert hat? Funktioniert das auch ohne Internet? Eine andere Erklärung gibt es nicht. Habt Ihr auch schon mal sowas erlebt?

Handy, Smartphone, Technik, hacken, programmieren, Android, Technologie
Spigot Tablist wird nicht richtig gesetzt?

Ich habe langsam keine Ahnung mehr was ich noch tun soll.

package game.squid.utils;

import org.bukkit.Bukkit;

import org.bukkit.ChatColor;

import org.bukkit.entity.Player;

import org.bukkit.scoreboard.Scoreboard;

import squid.game.games.BlockGame;

public class ScoreboardManager{

public static void registerScoreboard(Player p) {

for(Player all : Bukkit.getOnlinePlayers()) {

Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();

all.sendMessage("Debug1");

org.bukkit.scoreboard.Team teamBlue = board.registerNewTeam("TeamBlue");

org.bukkit.scoreboard.Team teamRed = board.registerNewTeam("TeamRed");

org.bukkit.scoreboard.Team teamYellow = board.registerNewTeam("TeamYellow");

org.bukkit.scoreboard.Team teamGreen = board.registerNewTeam("TeamGreen");

all.sendMessage("Debug3");

teamBlue.setPrefix(ChatColor.AQUA.toString() + "§bBLUE ");

teamRed.setPrefix(ChatColor.RED.toString() + "§cRED ");

teamYellow.setPrefix(ChatColor.YELLOW.toString() + "§eYELLOW ");

teamGreen.setPrefix(ChatColor.GREEN.toString() + "§aGREEN ");

all.sendMessage("Debug4");

all.setScoreboard(board);

if(Team.getTeam(p) == BlockGame.blueTeam) {

teamBlue.addEntry(p.getName());

all.sendMessage("Debug5");

continue;

}

if(Team.getTeam(p) == BlockGame.redTeam) {

teamRed.addEntry(p.getName());

all.sendMessage("Debug6");

continue;

if(Team.getTeam(p) == BlockGame.yellowTeam) {

teamYellow.addEntry(p.getName());

all.sendMessage("Debug7");

continue;

}

if(Team.getTeam(p) == BlockGame.greenTeam) {

teamGreen.addEntry(p.getName());

all.sendMessage("Debug8");

continue;

}

}

}

}

Bild zum Beitrag
programmieren, Java, Minecraft, Minecraft Server, Plug-in, Spigot
Html und Javascritp Gif ein und ausblenden lassen?

Ich möchte mit Html und Javascript ein Gif per button einfügen lassen. Ich habe schon einiges ausprobiert aber es funktioniert nicht, ich würde mich gerne über Hilfe freuen. (Die Aufgabe war es einen Kopfrechentrainer zu programmieren, als Zusatz ein Bild einfügen,...)

<html>
	<head>
		<title> Kopfrechentrainer Ultimate </title>
	</head>
	<body>
<script language=javascript>


{	var a;
	var b;
	var c;
	var d;
	var f=0;
	var r=0;
	var x;
}	
	function random()
	
{
	a=Math.floor(Math.random()*90)+10;
	document.rechnen.eingabe1.value=a;
	
	b=Math.floor(Math.random()*9)+1;
	document.rechnen.eingabe2.value=b;	
}


	function kontrolle()
{
	c=document.rechnen.vergleich.value;
	if(a*b==c){r++;document.rechnen.richtig.value=""+r}
	if(a*b!=c){f++;document.rechnen.falsch.value=""+f}


	if(r+f==50)
{
	if(r==0){alert('soos')}
	else if(0<r<=10){alert('saas')}
	else if(10<r<=20){alert('sees')}
	else if(20<r<=30){alert('siis')}
	else if(30<r<=40){alert('suus')}
	else if(40<r<=50){alert('fiif')}
}


}
	function zurück()
{
	document.rechnen.richtig.value=""
	document.rechnen.falsch.value=""
}


	function shutdown()
{
	window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
}


	function bka()
{
   	var audio = new Audio('sirene.mp3');
   	audio.play();


	document.getElementById("bkaf").style.display="none";
}


</script>








	
		<font color ="red"> <h2 align = center>  Kopfrechentrainer Ultimate </h2> </font>
		<br>
		<p align = center> <b>  
		Du kannst hier Multiplikationsaufgaben üben. <br>
		Beim Klicken auf den Button werden dir dir nacheinander 50 Aufgaben gestellt.
		</p> </b>
		<br>
		<br>
		<h1 align = center> Bereit? </h1>
		<br>
	<form name="rechnen">
		<input type=button value="Start" onclick=random()>
		<br> <br>
		<INPUT type=text name=eingabe1 value=""> *
		<INPUT type=text name=eingabe2 value=""> =
		<INPUT type=text name=vergleich value="">
		
			<input type=button value="Kontrolle" onclick=kontrolle()>
			<input type=button value="Zurücksetzen" onclick=zurück()>
				
		<br> <br> 
	<p align = center> <b>
		Richtig gelöst Falsch gelöst
	</b> 
		<br> <br>
		<INPUT type=text name=richtig value=""> 
		<INPUT type=text name=falsch value="">
	<br> <br>
		<input type=button value="shutdown" onclick=shutdown()>
	<br> <br>
		<input type=button value="BKA Modus" onclick=bka()>
		
		<audio autoplay>
 		 <source src="sirene.mp3" type="audio/mpeg">
		</audio>
		<br>
	<div id="bkaf">
	<img id="blaulicht" src="blaulicht.gif">	
	</div>


	</form>










	</body>
</html>
Computer, HTML, programmieren, JavaScript

Meistgelesene Beiträge zum Thema Programmieren