Ziehe mal die Datenschutzbestimmungen zu Rate,

es kann gut sein, das man das gar nicht darf.

Oder möglicherweise nur, wenn der beabsichtigte Empfänger diesem durch eine eindeutige Aktion, z.B. ein select von nein auf ja umstellen, dem zustimmt.  

Hängt möglicherweise auch von dem Angebot der Seite ab.

Eröffnet z.B. ein Besucher einen Online-Account in einem Shop, ohne eine Bestellung aufgegeben zu haben, ist es ein  Verstoss gegen die Datenschutzbestimmungen, wenn er darauf hin eine Email bekommt.

...zur Antwort
Datenbankprojekt: php/MySQL Fehlermeldung: Fatal error: Uncaught Error: Call to undefined function mysql_fetch_row() in C:\xampp2\htdocs\Autorloeschen.php:15?

Das Ziel ist es eine Datenbank über phpmyadmin zu erstellen und diese mit php und mysql anzuzeigen, Datensätze einzufügen, zu ändern und löschen zu können. Anzeigen und einfügen klappt bei mir bereits, nun harkts beim Löschen. Noch nicht mal mein Lehrer hat eine Idee dazu. Es handelt sich um ein Buchlagersystem. Das heißt es gibt Autoren, Büchertitel... In diesem konkreten Teil geht es nur um die Tabelle der Autoren und darum einen löschen zu können.

Der Quelltext von Autoloeschen.php:

 <form action='Autorloeschen2.php'
  method='post'>
 <table border='1'>

<?php

include_once ("Funktionen.php"); $sql="SELECT * FROM autor"; $result = db_query($sql) ;

while ($row=mysql_fetch_row($result)) { echo "\n";

echo ""; foreach ($row as $i) { echo "$i\n"; } echo "\n"; }

?>

Funktionen.php:

<?php

function db_connect() { $dbserver = "localhost"; $dbuser = "root"; $dbpasswort = ""; $dbname = "buchlager"; $dbh = mysqli_connect ($dbserver,$dbuser,$dbpasswort); mysqli_select_db ($dbh ,$dbname); return $dbh;
}

function db_query($sql) { $dbh=db_connect(); $result=mysqli_query ($dbh ,$sql); db_close();

}

function db_close() { $dbserver = "localhost"; $dbuser = "root"; $dbpasswort = ""; $dbname = "buchlager"; $dbh = mysqli_connect ($dbserver,$dbuser,$dbpasswort); mysqli_select_db ($dbh ,$dbname); return $dbh; mysqli_close($dbh); } ?>

Autorloeschen2.php:

<html>
  <body bgcolor='#cccccc'>

Ein oder mehrere Autoren werden gelöscht.

<?php

$loeschen=$_POST["loeschen"];

$menge="("; foreach ($loeschen as $i) { $menge=$menge . "$i,"; } $menge=substr($menge, 0, -1); $menge=$menge . ")";

include_once ("Funktionen.php");

$sql="DELETE FROM autor WHERE ID_Autor IN $menge;";

db_query($sql); ?>

...zum Beitrag

Es kann sein, das die Funktion  mysql_fetch_row() in Deiner PHP-Version nicht mehr existiert.

Die Fehlermeldung sagt klar, das die Funktion unbekannt, bzw. undefiniert ist. Diese Funktion wird seit Version 5.5.0 als veraltet angesehen und soll(te) entfernt werden.
versuch mal mysql_fetch_assoc() und schau Dir dann mal das Ergebniss mit var_dump() an.

Die Ergebnisse sind etwas anders im array angelegt.

...zur Antwort

Vermutlich ist auch weniger der Cookie Dein Freund, sondern eher SESSION,

und dann hängt das Ganze davon ab, wo Du Deine Logindaten für die User aufbewahrst. Oder ob eine Gruppe die gleichen nutzt, oder, oder..

So pauschal wirst Du da so vermutlich ohne Konzept eh nichts finden.

Empfehlung: Fang mal an, ein einfaches zu schreiben,  und wenn Du dann Probleme hast, stell die hier wieder ein.

Und wenn das läuft kümmerst Du Dich um die Sicherheit.

...zur Antwort
Wo kommen diese Absätze her, zweiter Versuch.?

Diese Frage habe ich schon einmal gestellt, nur habe ich dort leider keine hilfreiche Antwort bekommen, weil ich nicht das gesamte Skript > gepostet habe.

Hier frage ich nun also das gleiche noch mal, nur mit dem gesamten Skript:

<?php
session_start();
$token = $_SESSION['token'];
if(!file_exists('tokens/'.$token)) {
header('Location: index.php');
} else {

$username = file_get_contents('tokens/'.$token);
$video = str_replace('watch?v=', 'embed/', $_GET['link']);
$video = str_replace('.be/', 'be.com/embed/', $video);
$embedstring = '<iframe width="560" height="315" src="'.$video.'" frameborder="0" allowfullscreen>Video lädt...</iframe>';
$project = $_GET['project'];
$game = $_GET['game'];
$string = $embedstring.'[]'.$game.'[]'.$project;
$string = nl2br($string);
$string = str_replace('<br />', '', $string);
$id = md5(rand(1,1000000000));
echo 'Adding '.$id.' zu '.$username.' mit Inhalt '.$string;

if(!is_dir('../data/vids/'.$username)) {
mkdir('../data/vids/'.$username);
}
$vfile = fopen('../data/vids/'.$username.'/'.$id, 'a');
fwrite($vfile, $string);
fclose($vfile);
$string = file_get_contents('../data/vids/'.$username.'/'.$id);
$string = nl2br($string);
$string = str_replace('<br />', '', $string);
$string = str_replace('

', '', $string);
echo '$string is '.$string;
$vfile = fopen('../data/vids/'.$username.'/'.$id, 'w');
fwrite($vfile, $string);
fclose($vfile);
}
?>

Meine Frage ist nun:

Wenn man dieses Skript nun so ausführt, Dass Embedstring "1" lautet, project "2" und game "3", dann müsste nach meiner Logik

1[]2[]3

Dabei herauskommen. Aber wenn ich das Skript verwende, kommt

1[]

2[]3

in der Datei heraus... Warum?

Wie man sieht habe ich bereits versucht diesen Absatz über

nl2br();

gefolgt von

str_replace('<br />', '', $string);

Zu entfernen aber es half alles nichts. Der Befehl

echo '$string is '.$string;

Ist zu debugzwecken, um zu sehen, ob das vorhanden ist, ist es aber nicht.

Ich frage mich sehr stark, wie all das zustande kommt... Kann mir vielleicht jemand helfen?

...zum Beitrag

trim()

verwende einmal trim()  auf jede Variable , aus der Du  $string zusammensetzt.

Du hast vermtulich einen \n am Ende Deiner Datei username.

Prüf das mal zuerst, bevor Du trim() auf alles anwendest,

also zuerst einmal trim() auf die var aus der Datei und..

Dann lass mal die string-replaces und das nl2br weg

nlbr() fügt VOR allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein,

es ersetzt nicht! Es genügt dann, wenn Du zusätzlich den $string einmal mit str_replace '' , '\n' bearbeitest.

trim() entfernt (auch) Zeilenumbrüche am Anfang und am Ende eines  Strings.


...zur Antwort

Besorg Dir mal Webenwickler Tools für den Firefox.

Ist ein kostenloses AddOn

Mit dem Insepktor kannst Du dann genau sehen, welche CSS Anweisung(en) für den Spalt verantwortlich sind bezw. dort wirken.

Das Teil ist ungemein hilfreich.

...zur Antwort

Versuch mal folgendes:

setze mal in Deinen HTML Header folgendes ein:

und gib den Systemen einen Moment Zeit zwischen den Aktionen.

Vielelicht hilft das.


<meta http-equiv=“cache-control“ content=“no-cache“>

<meta http-equiv=“pragma“ content=“no-cache“>

<meta http-equiv=“expires“ content=“0″>
...zur Antwort

Eine hab ich noch :)

Du kannst die Textdatei komplett einlesen, und mit

preg_match_all(),

mit einem regulärem ausdruck

auf einmal alle Zahlen, die hinter t= stehen in ein array lesen.

$source="

HIER STEHEN ZAHLEN HIER STEHEN ZAHLEN t=20000

HIER STEHEN ZAHLEN HIER STEHEN ZAHLEN t=30000

HIER STEHEN ZAHLEN HIER STEHEN ZAHLEN t=40000

HIER STEHEN ZAHLEN HIER STEHEN ZAHLEN t=50000

HIER STEHEN ZAHLEN HIER STEHEN ZAHLEN t=60000

";

$pattern="#t=([\d]*)#";

preg_match_all($pattern, $source,$match);

echo var_dump($match);

...zur Antwort

Schau Dir mal die Stringfunktionen von PHP an,

http://php.net/manual/de/ref.strings.php

bei Dir könnte z.B.

strrpos — Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette in verbindung mit substr

oder strtok - zerlegt einen String, ist vermutlich für Dich passender,

helfen.

Je nach dem was oder weiviel Du vom STring zurückhaben möchtest

...zur Antwort

Schau Dir mal das script genauer an, steht da eventeull irgendwo sleep() drinn?

Wenn über eine Schleife Massenmails, z.B. Rundschreiben / Newsletter versandt werden,  macht das Sinn, zwischen den Mails mal eine Pause einzubauen, um das Risiko einer SPAM-Bewertung zu reduzieren.

Wenn ja, schua Dir sleep() mal genauer an.

...zur Antwort

Wenn Du einzelne Emelente nebeneinander sehen haben willst,

hilft Dir im CSS auch  float

float:left;

float:right;

Sinvoll ist es, einen Contaienr, z.B. einen div zu nehmen,

und die elemente, die nebeneinander stehen sollen, in diesen div zu packen.

am Ende des div - containers mussst dan dann das floaten wieder aufheben.

Abhängig von den Größen (Breite und Höhe) der einzelnen Elemente, kann das eventuell etwas merkwürdig aussehen. Dann musst Du das ganze noch etwas nachformatieren, in dem Du die Überschriften z.B. in Ihrer Schrfthöhe gleich definierst, und eventuell mit margin und padding etwas positionierst.

Wenn du z-B.  in CSS   h2{display:inline;} einträgst, machen das alle H2-Überschriften. 

Das könnte sich ungünstig auf den Rest Deiner Seite auswirken.

wenn Du Dir aber einen Conaienr nimmst, und dem z.B. die Klasse

.floattest verpasst, (kannst Du nennen wie Du willst ) und dann im CSS folgendes machst:

.floattest *{float:left;}

floatet alles in jedem Container, dem Du die Klasse floattest gibst, nach links.

Je nach Gestaltung, könnest Du ein soll-links-stehen-element links floaten und einem soll-rechts-stehen-element rechts floaten lassen.

...zur Antwort

Hier findest Du eine etwas ausführlichere Anleitung für eine einfache Mehtode.

https://www.gutefrage.net/frage/passwort-auf-der-webseite-erstellen-und-weitergeleitet-werden?foundIn=list-answers-by-user#answer-119287718

...zur Antwort

Ich bin nicht ganz sicher, ob ich Deine Frage verstanden habe.

Dur kannst in einem Link Daten übergeben, z.B. eine Ziffer für einen speziellen Link.

Diese Daten stehen in PHP in der Var $_GET als array.

http://www.domain.tld/jump.php?partnerID=112

die jump.php holt jetzt z.B. aus einer Datenbank / MySql-Tabelle eine URL,

zählt dort einen counter hoch und leitet dann auf die zu verlinkende Seite weiter.

Wichtig ist dann, das Du den HTML-Header der Datei jump.php eine 301-Weiterleitung einbaust, mit der entsrpechenden URL.

Sonst kann es sein, das Dir die SUMAS den Kontent der zu verlinkenden Seite als Deinen Kontent werten. DAS wäre nicht so gut.

Das selbe kannsst Du jetzt auch mit Deiner Seite machen.

http://deineDomain.tld/incoming.php?refferer=1199

Deiner Seite must Du dann einen canonical verpassen, damit SUMAS den Link nicht als zwei veschiedene mit duplcate Content werten.

In Dieser Seite fragst Du dann die Var $_GET['refferer'] ab,

ist die Var belegt, bzw. hat Sie einen Inhalt, zähls Du halt wieder einen Counter auf, oder trägst entsprechende Iinformationen in deien DB ein.

Wichtig bei der Verwendung von $_GET ist, das Du Dir ein überprüfbares System für die Variablen-Inhalte ausdenkst, und das überprüfst.

Wenn die Inhalte dann nicht erlaubt sind, darft Du sie nicht weiter bearbeiten.

Du könntest z.B. alle Zahlen, also die indexe der möglichen URLS aus der DB holen und in ein array packen, dann fragst du ab, ob der Inhalt der GET-Var im Array ist,  ist er es nicht, leitest Du auf eine Fehlerseite 404 weiter.

Natürlich kannst Du jetzt jede Menge anderer Informatione, wie z.B. die Zeit in der DB-Tabelle hnterlegen. Oder was imemr Du sonst brauchst, um eine interessante Statistik zu bekommen.

Die Namen der Varialen 'refferer' oder partnerID oder der Dateinamen jump.php kannst Du natürlich frei wählen.

Mit der .htacces und dem mode_rewrite kannst Du Deine Links auch anders gestalten, so das das Ganze dann nicht sofort nache Datenübergabe aussieht.

z.B. http://www.deineDomain.tld/jump-Titel-der-Zielseite_112.html

Dem Kunden kannst Du nun eine Statistik-Seite zur Verfügung stellen,

in der er sich z-B. mit Seiner ID und einem Passwort anmeldet.

Dann hast Du ein Scipt, das je nach ID die entsprechenden Daten aus der DB holt.

Hier kann er sich die Daten z.B. nach Kalenderwochen, Monaten oder Wochentagen anzeigen lassen.

Da gibt es jede Menge Optiuonen, an Infos, die man hinterlegen kann.

...zur Antwort

Das hört sich so an, als wenn da irgendwo ein html-Tag nicht geschlossen wurde, oder in einem Tag ein Hochkomma fehlt.

validier doch einfach mal das Ergebniss.

Für Firefox gibt es schöne Entwicklertools. z.B. html tidy oder WEB Devoloper.

WQie das mit anderen browsern aussieht, weiß ich leider nicht.

Die sind bei solchen Problemen sehr hilfreich und Fehler lasses sich schnell finden.

...zur Antwort

Wenn Du Deine Texte z.B. aus einer DB oder einer Textdatei lädst,

kannst Du die \n stehen lassen.

$beispiel = "Zeile 1 \n" . $Label . "\n Zeile 2";
echo nl2br($beispiel);

Das nl2br() ersetzt bei der Ausagbe alle \n automatisch durch einen   - br -.

Das spart Speicher und Dir stehen, je nach Verwendungswunsch beide Formate zur Verfügung.

Das klappt auch bei Formulareingaben in z.b. textaera wenn dort die Entertaste für einen Zeilenumbruch verendet wurde.

Ansonsten kanntst Du jeden HTML - Code in einem  - echo- unterbringen.

...zur Antwort

Wenn es Dir darum geht, das Du Deine Parameter in der URL verbergen möchtest, also nicht in der Adresse domain.tld/user.php?user=test

sonder domain.tld/user/test

dann braucht du mode-rewrite und eine .htaccess.

Damit must Du Dich intensiv beschäftigen, das geht leider nicht so ruckzuck

In der htaccess (das ist eine Datei im TXT-Format) werden URLS nach definierten Mustern intern umgeleitet.

Im Grunde brauchst Du aber Deine user.php auch nicht direkt über die URL ansprechen.

Das könnte auch so aussehen:

domain.tld/index.php?user=test

if(!empty($_GET['user']){
include('pfadzurusesr.php/user.php');
}

Du solltest aber immer wenn Du $_GET verwendest, dafür Sorge tragen, das Du die Inhalte der Variablen auf erlaubte Inhalte überprüfen kannst, und das auch tun. Sonst ist das eine Sicherheitlücke für Deine Seite.

Enthält die Variable z.B. unerlaubte Zeichen, leitest Du auf eine Fehlerseite weiter und bearbeitest den Variableninhalt nicht weiter.

Zum ausprobieren ist das aber noch nicht notwendig, solange die URL nicht öffentlich ist.

...zur Antwort

HI,

was Du gepostet hast, ist CSS und zwei Zeilen des HTMl-Headers.

CSS gibt an, wie der Button dargestellt wird, und hat mir seiner Funktion nichts zu tun.

Und auch PHP hat mit der Funktion des Buttons bzw. des Formulares nichts zu tun, ausser, das die die Daten eines Formulres mit PHP auswerten kannst.

Wenn der Button nicht tut, was Du erartest, dann liegt es vermutlich an dem Formular.


<form method='post' action='#'>
<input type='text' name='fdata1' value=''/>
<input type='submit' name='sendbutton' value='absenden' class='button'/>
</form>


Wenn Du jetzt am Anfang Deiner Seite folgenden PHP-Code eingibst,

siehst Du nach dem Absenden, was der Inhalt des Formulares in PHP ist.

Die Werte des Formulares stehen in der Variblen $_POST.


<?
if(isset($_POST)){
var_dump($_POST);
}
?>

Wenn das nicht Deine Frage war, definier mal genau, was Du willst.

Wenn es Dir darum geht, das derButton nur die Anweisungen des CSS bekommt, must Du dem Button auch die Klasse zuweisen.

Du hast in Deiner CSS - Anweisung die Klasse .button

Wie Du oben im Formularbeispiel sehen kannst, steht dort

class='button'

Du kannst den Namen einer Kalsse frei wählen, da kann auch Buttermiclh stehen.

Wenn Du mit CSS direkt jeden Button ansprechen willst,

dann muss die CSS -Anweisung ander aussehen.


input[type=submit] {
display: block;
width: 180px;
height: 60px;
position: relative;
border: 2px solid #04a;
border-radius: 5px;
margin: 200px auto;
background-color: #06c;
}

Jetzt werden alle Button eines Formulares mit dieser CSS-Anweisung dargestellt. 

Du kannst jedem html-tag die Klasse .button zuweisen, probier das mal mit einem Link aus.

...zur Antwort

Also,

das Prinzip eines Formulares findest Du im WEB wenn Du nach HTML-Formular suchst. Das alles im einzlenen zu erklären, würde hier den Ramen sprengen.

wichtig ist immer, nutze POST.

form method='post' action='die URL an die die DAten gesednen werden'

input type='text' name='nickname' value=''

 type  - gibt es divers

name  - ist ein frei wählbarer begriff

value - ist was im feld angezeigt wird und wenn nicht geändert gesendet wird

Daten, die aus einem Formular kommen stehen in PHP in der Variablen $_POST, das sit ein array.

um zu sehen, was darins steht,

bau DIr ein Formular und sende es an die selbe seite

form method='post' action='#'

dann fügst Du am Anfang, ALSO VOR dem Formular mal foglednes PHP-Script ein

<?

if(isset($_POST)){

var_dump($_POST);

}

?>

Dann siehst Du die Variablennamen und die Inhalte.

...zur Antwort

Bis auf ein paar Netigkeiten, lässt ich alles, was Du mit Javascript machen kannst, auch mit PHP HTML und CSS erledigen.

Acu Interaktion ist mit PHP, HMTL und CSS kein Thema.

Diese Nettigkeiten sind aber in der Regel nciht wikrlich Notwendig.

Der Nachteil von Javascript sit, das es auf dem Cpumputer des Besuchers ausgeführt wird. Das setzt immer Voraus, das Javascript beim Beucher nciht abgeschaltet ist.

Zum anderen führt es des öfteren zum Brwoserabsturz, wenn man gleichzeitig viele Seiten im Brwoser offen hat, die alle massiv Javascipt benutzen.

Ein weitere Nachteil ist, das man ohne große Mühe die Javascript-Dateien als Besucher inhaltlich anschauen kann.

Wenn Du also auf Inahlte zugreifen willst, z.B. Datenbanken oder Zugangsdaten, darfst Du die Infos zum Griff, also z.B. Deine Zugangsdaten oder interne Pfade nicht im Klartext im Javascript ablegen.

Notwendig ist Javascript nicht wirklich und auf irgendwelche Spielereien können den Bescuher auch nerven.

Du bsit eben auch immer von der Perfomance der Geräte Deines Besuchers abhängig.

...zur Antwort

ODER, wenn möglich, Du hängst an die URL zum einbetten eine  Parameter

?from=1

und alle, die die Seite einbinden bekommen ihre eigen nummer.

In deinem Script hast Du dann die Variable

$_GET['from']

...zur Antwort