Klar, kommt dann morgen...
Beiträge von JR Cologne
-
-
Zu deinem zweiten Beitrag:
Wüsste nicht, warum str_replace nicht funktionieren sollte. Müsstest du mal näher erläutern.
-
Ja, das gibt es in PHP auch: http://php.net/manual/de/language.exceptions.php
Ein Forum? Puh, gute Frage. Relativ bekannt und dazu noch Open Source ist phpBB: https://www.phpbb.com
Habe ich mich aber noch nie damit beschäftigt. Kann dazu also nichts sagen.
-
Ok, was bedeutet denn, dass es nicht funktioniert? Bekommst du Fehlermeldungen?
Dein Code wäre hilfreich.
-
Dateiupload funktioniert normalerweise über die Superglobale $_FILES und nicht POST.
-
Du müsstest im Grunde zwei Dinge erstellen.
Eine Seite, auf der man sich eintragen kann und die Daten dann in einer Datei oder Datenbank gespeichert werden.
Das Zweite wäre ein Script, dass dann für die Zuteilung sowie Versendung sorgt.
Die Zuteilung würde ich so angehen, dass du dir aus der DB oder Datei alle Teilnehmer ziehst, diese in einem Array speicherst und dann mittels foreach durchläufst. Für jeden Eintrag erstellst du dann ein temporäres Array, welches allerdings die aktuelle Person nicht enthält, um die Ziehung von sich selber zu verzichten.
Des Weiteren müsstest du bereits vergebene Leute entfernen.
Die Zuordnung erfolgt dann so, dass du z.B. die ID der zugeordneten Person für die entsprechende Person abspeicherst.
Hoffe, ich habe das halbwegs verständlich erklärt. Kann ansonsten auch nochmal ein Beispiel erstellen.
-
Durch die umfangreiche Dokumentation hatte ich da mit PHP eigentlich nie Probleme...
Für dein Beispiel könntest du z.B. explode() nutzen:
PHP<?php $str = 'bla1 diesen text will ich haben bla2'; $str = trim(explode('bla2', explode('bla1', $str)[1])[0]);
Das Ganze sieht etwas kompliziert aus, das stimmt. Im Prinzip ist es aber das Gleiche, wie deine JS-Lösung. Der Unterschied: In PHP kann man halt nicht einfach Funktionen hintereinander hängen.
Eine etwas bessere Lösung wäre natürlich die Nutzung von str_replace. Damit kannst du die ungewollten Bestandteile einfach mit einem leeren String ersetzen.
-
Du musst einen lokalen Webserver installieren. Ein Beispiel dafür ist Xampp.
Eine Erklärung dazu gibt es im PHP-Kurs auch: https://www.php-kurs.com/apach…nstallieren-mit-xampp.htm
-
Stimme dem absolut zu!
Es ist super, dass du so engagiert bist, Basti, aber du kannst nicht immer alles einfach durch Learning by doing in einem Fiddle machen.
Du musst auch die Grundlagen lernen und verschiedene Kurse durchlaufen, damit du es richtig lernst. Dazu gehört auch, richtige Websites zu entwickeln und nicht nur in einem Fiddle rumzuspielen.
-
Das ist doch doppelt gemoppelt. Du musst Google Fonts entweder im HTML oder im CSS einfügen. Beides ist überflüssig und könnte eventuell auch zu Problemen führen, wobei es wohl eher nicht daran liegt.
-
Du hast einen kleinen Schreibfehler drin.
Statt toggle, hast du toogle geschrieben.
-
olkostbe Hast du das Ganze denn schon mal auf deinem Server getestet? Vielleicht liegt es doch daran.
Habe bisher leider auch nicht wirklich was zu diesen Fehler gefunden, scheint meist eher eine Fehlkonfiguration zu sein.
-
Da ist es genauso.
-
Das sind alles Präprozessoren, welche erst in HTML bzw. CSS kompiliert werden müssen. Es gibt also keine Möglichkeit, diesen Code einfach auf den Server hochzuladen, weil der Browser das nicht verstehen würde.
Irgendwelche Scripte, die du zusätzlich einfügst und dann alles funktioniert, gibt es dafür auch nicht. Das liegt daran, dass es im Grunde eine andere Sprache mit anderem Syntax usw. ist.
-
Danke, dir auch einen guten Start in die neue Woche!
-
Schau ich mir morgen an. Der erste Fehler sollte eigentlich auch bei Xampp nicht auftreten.
Die Vorgehensweise alles auf den Server zu kopieren, sollte eigentlich auch funktionieren.
Letzteres scheint eher ein Konfigurationsproblem von deinem SMTP zu sein.
-
Kurz zum weiteren Vorgehen:
1. -> erledigt
(Frage wäre hier, warum dies in den vielen, vielen Beispielen von swiftmailer im Internet immer angezogen wird. Kann aber verstehen, dass das mit dem composer sich erledigt)
Das sollte eigentlich nur bei den Beispielen ohne Composer vorhanden sein.
3. -> composer install und composer update im Verzeichnis von neuem composer,json gemacht.
Dann habe ich die php Datei wieder mit xampp und localhost laufen lassen (ich unterschlage hier, dass in der php Datei noch ein Fehler mir unterlaufen ist; - jetzt aber korrigiert):
PHP
Alles anzeigen<?php error_reporting (E_ALL); ini_set('display_errors', 'On'); //<!--Swiftmailer Version--> require 'vendor/autoload.php'; $oTransport = new Swift_SmtpTransport('smtp.strato.de', 465); $oTransport->setUsername('+++++++.++++++++++@++++.de'); $oTransport->setPassword( '+++++++++++++' ); $oMessage = new Swift_Message('Test'); $oMessage->setFrom( '+++++++.++++++++++@++++.de' ); $oMessage->setTo( '+++++++.++++++++++@++++.de', 'Konrad Mustermann' ); $oMessage->setSubject( 'PHP rockt! less time to learn more' ); $oMessage->setBody( '<h1>PHP rockt!</h1><h2>HTML E-Mail senden mit SwiftMailer</h2>', 'text/html' ); $oMessage->addPart( strip_tags($oMessage->getBody()), 'text/plain' ); $oMailer = Swift_Mailer( $oTransport ); if ( !$oMailer->send($oMessage) ) { echo 'Something\'s went wrong!'; exit; } echo 'Yes! First Mail with SwiftMailer sent successfully!'; ?>
Diesmal habe ich diesen Fehler:
Fatal error: Uncaught Error: Call to undefined function Swift_Mailer() in C:\xampp\htdocs\pojekt\einsterneinberg\kontakt-swift1.php:33 Stack trace: #0 {main} thrown in C:\xampp\htdocs\pojekt\einsterneinberg\kontakt-swift1.php on line 33
Dieser Fehler bezieht sich auf die Zeile:
??? Aber die Zeile ist doch korrekt?
Ich habe trotzdem das Gefühl, dass ich ziemlich nahe dran bin. Könntet Ihr mir trotzdem nochmals hier helfen?
Eine weitere Frage für die Zukunft:
Wenn Alles läuft und meine Unwissenheit sich in ein klein wenig Ahnung umgeschlagen hat: Wie bringe ich das Ganze dann auf meinen Server?
- Kopiere ich das Ganze einfach auf den Webspace?
- Oder muss ich dann wieder etwas komplett anderes anpacken (in der composer documentation wird hier was von "global" geredet; - habe ich aber auch nicht so ganz verstanden)
Danke für Korrekturen der Experten. Gerne auch ein wenig Hintergrundwissen zu den anderen Fragen in diesem Kommentar hier.
Dir fehlt das new-Keyword. Mit dem new-Keyword wird nämlich ein Objekt (bzw. Instanz) einer Klasse erstellt/erzeugt.
Die Fehlermeldung bekommst du, weil PHP denkt, es würde sich um eine normale Funktion handeln, jedoch existiert diese logischerweise nicht.
Es gibt lediglich eine Klasse, die so heißt.
-
Ah, ne. So kann das nicht funktionieren.
1. Entferne die Einbindung von swift_required.php. Der Sinn hinter dem Composer Autoloader ist, dass dieser bereits alle Dateien, die benötigt werden, einbindet. Das wäre also doppelt gemoppelt.
2. Du hast einfach die composer.json vom Swift-Mailer kopiert. Das ist falsch, da dies die Datei ist, die das Swift-Mailer Package beschreibt. Wenn du selber ein Package für Composer entwickeln würdest, bräuchtest du eine ähnliche Datei.
In deinem Fall reicht jedoch Folgendes aus:
Dann noch composer install im Terminal ausführen und alles sollte installiert sein.
Alternativ kannst du auch nur das Terminal nutzen und Folgendes innerhalb deines Projektordners ausführen:
Dies erstellt die composer.json dann automatisch und installiert alles.
-
Kannst du bitte mal folgende Dateien posten:
- composer.json
- composer.lock
- deine PHP-Datei
-
Bplaced.net funktioniert einwandfrei.
Wenn dein Konto dort deaktiviert wurde, schreib mal den Support an.