Sind diese PHP Methoden nützlich?

Hallo smarte Leute!

Bin PHP Neuling und habe mir dazu die ein oder andere hilfreiche Methode zusammengestellt und eine Standard DB Verbindung für eine MySQL Datenbank erstellt um diese möglicherweise auch für andere Projekte zu nutzen.

Sind diese Methoden hilfreich bzw. kann man diese verbessern?

Mfg, CodeMaster

Standartmethoden:

<?php
  
  function getContentSite($defaultSite) {


    if(isset($_GET['site']))
    {
      include_once($_GET['site'] . ".php");
    }
    else
    {
      include_once($defaultSite . ".php");
    }
  }


  function getFormAction()
  {
    if(isset($_GET["site"]))
    {
      return htmlspecialchars($_SERVER["PHP_SELF"]) . "?site=" . $_GET["site"];
    }


    return htmlspecialchars($_SERVER["PHP_SELF"]);
  }


  function getFormParam($name, $defaultVal = "") 
  {
    if(isset($_POST[$name]))
    {
      return $_POST[$name];
    }


    return $defaultVal;
  }


  function isFormValueChecked($key, $val)
  {
    return ($key == $val ? "checked"  : "");
  }


  function isFormValueSelected($key, $val)
  {
    return ($key == $val ? "selected"  : "");
  }


 ?>

Datenbankverbindung:

<?php


include_once("dbHelpers.inc.php");


$server = '';
$schema = '';
$user = '';
$password = '';


try{
    $con = new PDO('mysql:host='.$server.';dbname='.$schema.';charset=utf8',$user,$password);
    $con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch(Exception $e){
    printException($e);
}

Datenbankabfragen:

<?php


function makeStatement($query, $array = null){
    try{
        global $con;
        $stmt = $con->prepare($query);
        $stmt->execute($array);
        return $stmt;
    } catch(Exception $e) {
        printException($e);
    }
}
function printException($e)  {
    echo 'Error '.$e->getCode().$e->getMessage();
}


function makeTable($query, $arrV = null)
{
    try{
        $stmt = makeStatement($query, $arrV);
        echo '<table class="table">';
        $meta = array();
        echo '<tr>';
        for($i = 0; $i < $stmt -> columnCount(); $i++)
        {
            $meta[] = $stmt->getColumnMeta($i);
            echo '<th>'.$meta[$i]['name'].'</th>';
        }
        echo '</tr>';
 
        while($row = $stmt->fetch(PDO::FETCH_NUM)){
            echo '<tr>';
            foreach($row as $r){
                echo '<td>'.$r.'</td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
    catch(Exception $e){
        printException($e);
    }
}

Code, Datenbank, MySQL, PHP
Fehler bei password verify php?

Ich habe ein Testprogramm geschrieben, in dem man ein Passwort eingibt, dass dann gehasht in einer Datenbank gespeichert wird. Wenn ich mit dem Passwort vergleiche kommt aber nicht true sondern false raus. Das ganze habe ich in WebFTP gemacht.

Als Ausgabe bekomme ich:

123456789 $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Richtig In Datenbank übertragen $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Falsch Richtig übertragen

Bedeutet das gehashte Passwort wurde richtig gespeichert, aber passwort verify hat beim zweiten mal false zurück gegeben.

Hier ist der php Teil dazu:

<?php
if (isset($_POST["start"])) {
    $password = $_POST["password"];
    $email = $_POST["email"];
    echo $password . " ";
    $passwordHash = password_hash($password, PASSWORD_DEFAULT);
    echo $passwordHash . " ";
    if (password_verify($password, $passwordHash)){
        echo "Richtig ";
    }else{
        echo "Falsch ";
    }
    require_once "data.php"; //Hier wird die Datenbankverbindung gespeichert
    $statement = $pdo->prepare("INSERT INTO tab (email, password) VALUES (?, ?)");
    $statement->execute(array($email, $passwordHash));
    if ($statement){
        echo "In Datenbank übertragen ";
        $sql = "SELECT * FROM tab WHERE email='$email'";
        $user = $pdo->query($sql)->fetch();
        $passwordTest = $user["password"];
        echo $passwordTest . " ";
        if (password_verify($password, $passwordTest)){
            echo "Richtig ";
        }else{
            echo "Falsch ";
            if ($passwordHash == $passwordTest){
                echo "Richtig übertragen ";
            }else{
                echo "Falsch übertragen ";
            }
        }
        die();
    }else{
        die("Es ist etwas schief gelaufen");
    }
}
?>
SQL, HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, phpMyAdmin
Hilfe bei JavaScript Code?

ich habe was ausprobiert, aber da scheint was falsch zu sein, sieht man einen Fehler auf den ersten blick?

Also die Aufgabe ist: Es sollen die gefundene Position auf einer Karte darstellen mit Hilfe von Leaflet. Mit der Funktion updateMarkers werden die übergebenen GeoTags auf der Karte als Marker angezeigt. Beim Aufruf der Methode werden die zuvor vorhandenen Marker entfernt.

updateLocation-Funktion sollte wie folgt ergänzt werden:

  • Die Funktionen initMap und updateMarkers mit den aktuellen Koordinaten aufrufen. Daraufhin wird die Karte in Ihrer App angezeigt.
  • Suche im DOM das Image Element auf der Webseite.
  • Lösche sowohl das <img>-Element als auch das <p>-Element für die Beschriftung mithilfe des DOM (nicht in der HTML Datei). Dadurch wird der Platzhalter zur anfänglich Darstellung der Karte auf der Webseite wieder entfernt.

Kann jemand helfen? Mit Schritten auf die man unbedingt achten soll, oder so?

Der momentane Code sieht so aus…:

function updateLocation() {
    // Auslesen der Position mit findLocation
    LocationHelper.findLocation((locationHelper) => {
        // Koordinaten aus dem LocationHelper-Objekt abrufen
        const latitude = locationHelper.latitude;
        const longitude = locationHelper.longitude;
        
        // Koordinaten in die Formulare eintragen
        document.getElementById('taglatinput').value = latitude;
        document.getElementById('taglonginput').value = longitude;
        document.getElementById('disclatinput').value = latitude;
        document.getElementById('disclonginput').value = longitude;

        // Koordinaten auf Karte darstellen
        MapManager.initMap(latitude, longitude);
        MapManager.updateMarkers(latitude, longitude);
        
        // Image und p-Elemente im DOM entfernen
        const mapImage = document.getElementById('map');
        const mapDescription = document.getElementById('resultMap');
        // Konsolenausgabe zur Überprüfung der Koordinaten
        console.log("Latitude:", latitude);
        console.log("Longitude:",longitude);
        if (mapImage && mapDescription) {
            mapImage.remove();
            mapDescription.remove();
        }
    });
}

document.addEventListener("DOMContentLoaded", updateLocation);

HTML, Webseite, JavaScript, HTML5, Code, Informatik, Programmiersprache, Webentwicklung, Frontend
Unity, Registrierung?

Hallo,

ich bin gerade dabei ein Unity Spiel zu programmieren. In dem Spiel soll man sich registrieren können, dabei benutze ich PlayFab. Bei dem Test der Registrierung läuft etwas schief und ich weis einfach nicht wieso. Vielleicht könnt ihr mir weiter helfen?

Danke für jede Antwort.

Unity:

Das Spiel:

Das Script:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using PlayFab.ClientModels;

using PlayFab;

using System;

using UnityEditor.PackageManager.Requests;

using UnityEngine.UI;

using TMPro;

using PlayFab.PfEditor;

public class PlayFabLoginScript : MonoBehaviour {

  public TextMeshProUGUI regPassword, regUsername, regEmail;

  public GameObject regPanel;

  // Start is called before the first frame update

  void Start()

  {

    var request = new LoginWithCustomIDRequest { CustomId = "GettingStardedGuide", CreateAccount =true};

    PlayFabClientAPI.LoginWithCustomID(request, OnLoginSucces, OnLoginFailure);

  }

  private void OnLoginFailure(PlayFabError obj)

  {

    Debug.Log("Es ist etwas schief gelaufen");

  }

  private void OnLoginSucces(LoginResult obj)

  {

    Debug.Log("API Call hat funktioniert");

  }

  public void Register()

  {

    var request = new RegisterPlayFabUserRequest();

    request.TitleId = PlayFabSettings.TitleId;

    request.Email = regEmail.text;

    request.Username = regUsername.text;

    request.Password = regPassword.text;

    PlayFabClientAPI.RegisterPlayFabUser(request, OnRegisterResult, OnPlayFabError);

     

  }

  private void OnPlayFabError(PlayFabError obj)

  {

    print("Error:" + obj.Error);

  }

  private void OnRegisterResult(RegisterPlayFabUserResult obj)

  {

    print("Registrierung hat funktioniert");

    regPanel.SetActive(false);

  }

Bild zum Beitrag
C Sharp, Code, Programmiersprache, Spieleentwicklung, Visual Studio, Unity

Meistgelesene Fragen zum Thema Code