Handy zu PC / Daten mit Handy hochladen und mit PC anschauen :D

Noki99

Mitglied
Hallo, ich hätte mal eine Frage, ob das Realisierbar ist und wenn ja ob mir jemand nen Tipp geben kann :D

Und zwar hab ich mir vorgestellt, dass wenn man auf die index.php geht, einen Link und einen Code angezeigt bekommt, welchen man auf einer Handy.php oda so eingeben muss, und dann kommt auf dem PC ein weißer Screen. Man kann mit dem Handy nun ein Bild hochladen, welches dann auf dem PC angezeigt wird und danach wieder gelöscht :D

Ist das mit PHP überhaupt möglich und wenn ja kann mit jemand nen Tipp geben?
 
Hi

Db-Tabelle:
Code und Status als Spalten
Status:
Nichts/CodeEingegeben/BildVorhanden (0, 1 ,2 oder so)

index.php:
Erzeugt einen (eindeutigen) Code und macht damit einen Db-Eintrag.
Status 0 (Noch nichts).
Dann eine neue/andere HTML-Seite erzeugen,
die alle paar Sekunden per Ajax prüft, wie der Status zum eigenen Code gerade ist.
Bei 0 wird zB. angezeigt, dass noch kein Handy mit diesem Code da ist,
bei 1 eine weiße Fläche,
bei 2 das Bild vom Server, das zum Code gehört (code.jpg oder was auch immer)

Wenn eine Ajax.Abfrage den Status 2 bekommen hat
kann Bild und Tabelleneintrag vom Server weg und die Ajax-Sache am Client aufhören
Am Besten auch noch eine dritte Tabellenspalte, wann der Eintrag angelegt wurde,
und regelmäig zu alte Einträge samt Bild (falls vorhanden) löschen.

handy.php:
Code eingeben lassen.
Wenn eingegebener Code nicht vorhanden oder Status dazu nicht 0: Fehler.
Sonst:
Status auf 1 setzen und Bild verlangen.
Nach dem Hochladen des Bildes mit passendem Dateinamen am Server ablegen
und Status auf 2 setzen.
 
Ich verstehe alles bis auf die Ajax Abfrage :D

Kannst du mir das en bissl näher erklären, wie ich dass machen kann?

Achso, ich hab noch en Problem:

PHP:
<?php
$code = rand(1000,9999);




$verbindung = mysql_connect ("localhost",
"livestream", "***")
or die ("keine Verbindung möglich.
 Benutzername oder Passwort sind falsch");

mysql_select_db("livestream")
or die ("Die Datenbank existiert nicht.");

$query = mysql_query('SELECT `Code` FROM `livestream` WHERE `Code` = $code');
$result = mysql_num_rows($query);
if ($result === 0) {
$anzeigen = "Ja";
} else {
    $anzeigen = "Nein";
};

Das müsste doch eigentlich schauen, ob der Zufällige Code schon belegt ist. Die Datenbank existiert natürlich :D

Der Fehler kommt zurück: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/livestream/www/index.php on line 16

Kann mir jemand helfen?
 
Zuletzt bearbeitet:
Mach mal aus der Zeile

PHP:
$query = mysql_query('SELECT `Code` FROM `livestream` WHERE `Code` = $code');

ein

PHP:
$query = mysql_query("SELECT `Code` FROM `livestream` WHERE `Code` = $code");

Hintergrund: Bei Strings, die in Single-Quote stehen, werden Variablen nicht durch ihren Wert ersetzt. Bei Double-Quotes dagegen schon.
 
Fehler liegt in der SQL-Abfrage.
zB. $code wird nicht durch den Variableninhalt ersetzt.
http://php.net/manual/de/language.types.string.php

mysql_ soll man nicht mehr verwenden.
Ja, wirklich.

Generier die Zufallscodes anders, zB. sha1(timestamp + hostip)

Und die Doppelkontrolle kann man auch durch die DB beim Insert erledigen.
Unique.
Bzw. man muss, weil so keine Eindeutigkeit garantiert ist.
(wenn zwei diesen Code gleichzeitig machen...
beide denken "ist noch nicht belegt" und fügen wenig später beide ein)
 
Zurück